Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

[PLUGIN] GameEx Hi-Score Snapper


Adultery

Recommended Posts

  • 1 month later...

Updated to 1.0.5!

This is mostly due to a fix pointed out by MNMax21, but I also added a new feature for checking the master database online instead of downloading a server generated text file, which should make things happen much faster than waiting for the script to catch up.

  • Plugin now checks online for games instead of downloading a local list
    • This keeps the list up to the second a game is entered instead of waiting for the server to update the game list
    • If no connection to the request site is made, override mode is used to capture snaps
  • Fixed a bug where Snow Bros was not being found in game list
  • Smoothed out some code that detects key presses and takes snaps
  • Moved the snap folder for temporary MAME snaps to the user's %temp% folder, keeping things tidy

Get it from the first post. ;)

  • Like 3
Link to comment
Share on other sites

  • 3 months later...

I can't seem to get this to work

My cabinet is online but it just keeps telling me that every game is not a HiScore game

I'm using the latest map file so I'm running the right roms

I'm running Mame 150

03/10/2014 00:00:01 : Hi-Score Snapper (Version: 1.0.5)03/10/2014 00:00:01 : 13.31 INITIALIZED OK!: GameEx03/10/2014 00:00:01 : Cleaning up old data...03/10/2014 00:00:01 : INIT PLUGIN: Initialization completed!03/10/2014 00:00:01 : MAME version: 0.15003/10/2014 00:00:01 : MAME check complete!03/10/2014 00:01:00 : 1943: The Battle of Midway is not a Hi-Score game! Exiting command-line utility!03/10/2014 00:01:17 : 1944: The Loop Master is not a Hi-Score game! Exiting command-line utility!03/10/2014 00:01:40 : Anteater is not a Hi-Score game! Exiting command-line utility!03/10/2014 00:02:02 : Arkanoid is not a Hi-Score game! Exiting command-line utility!03/10/2014 00:02:31 : Blazing Star is not a Hi-Score game! Exiting command-line utility!03/10/2014 00:02:56 : Saving XML...03/10/2014 00:02:56 : Cleaning up...03/10/2014 00:02:56 : Hasta la vista... Baby.
Link to comment
Share on other sites

Hi Stu,

When you say you're using the latest MAP file, does that mean you're not using integrated MAME support? As in, do you have MAME set up as a seperate emulator per chance? This plugin only works for integrated support. :)

Link to comment
Share on other sites

That would be it then, yes I have a separate emulator setup with only the HiScore games listed, this is how the guide said to set it up.

Is there a better way? I like idea of having the HiScores games separated out.

There's another bug, if you tick the send F12 option then close and open the config, the option is unticked.

Link to comment
Share on other sites

Is there a better way? I like idea of having the HiScores games separated out.

If you use the custom mame hiscore list rather than the map, the snapper will recognise the games and work. Grab it here (right-click & save as). If you're not familiar with custom MAME lists there is a guide here, it's easy to follow and you may become obsessed with creating your own too ;)

At the bottom of the guide is a few lists i've created if you're interested, including the list to our new Monster Mash tourney if you want to get in on that too!

  • Like 1
Link to comment
Share on other sites

What he said. :)

I much prefer that method because I like keeping my mame games in one spot while having a custom list of each competition.

As for the bug, yes I caught and fixed that already but it wasn't enough of an issue for a release. The setting does save, it's just that the checkbox doesn't properly update on loading. :)

  • Like 1
Link to comment
Share on other sites

funny as I was setting it up I was thinking it would be better setup as a custom list.

We'll I have the custom list working but I'm still having no luck with the plugin.

It now see the game but I never get the screenshot.

I've checked the temp directory and there is a folder with the game name but the folder is empty.

Also I notice that when I press shift+home my LEDWiz turns off :)

03/10/2014 21:34:37 : Hi-Score Snapper (Version: 1.0.5)03/10/2014 21:34:37 : 13.31 INITIALIZED OK!: GameEx03/10/2014 21:34:37 : Cleaning up old data...03/10/2014 21:34:37 : INIT PLUGIN: Initialization completed!03/10/2014 21:34:37 : MAME version: 0.15003/10/2014 21:34:37 : MAME check complete!03/10/2014 21:35:12 : Checking for HiScore...03/10/2014 21:35:14 : Online Hi-Score check: Found game list! Setting up...03/10/2014 21:35:14 : Successfully added 63 hi-score games to the verified game list!03/10/2014 21:35:14 : Checking list for Hi-Score game...03/10/2014 21:35:14 : Found dkong in list! Initializing snapper!03/10/2014 21:35:14 : Starting snap monitor...03/10/2014 21:35:16 : LOG CMDLINE: MAME CommandLine: mamex64.exe dkong -rompath "E:\_Roms\Mame\Roms"  -bezel -artpath artworkgameex -nocheat -snapshot_directory "C:\Users\Stu\AppData\Local\Temp\hss" -snapsize 1024x76803/10/2014 21:35:28 : Stopping snap monitor...03/10/2014 21:35:31 : Saving XML...03/10/2014 21:35:31 : Cleaning up...03/10/2014 21:35:31 : Hasta la vista... Baby.

So I ran it again with Headkaze LED plugin turned off

I then get an exception

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at DracLabs.Snap_Worker.Internal_Snap.Get_Last_Created_File(String img_dir)
at DracLabs.Snap_Worker.Internal_Snap.Get_MAME_Internal_Snap()
at Monitor.Keys_Timer_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5477 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
GameEx
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/GameEx.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5468 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5467 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
Microsoft.DirectX.Direct3DX
Assembly Version: 1.0.2911.0
Win32 Version: 9.12.589.0000
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.Direct3DX/1.0.2911.0__31bf3856ad364e35/Microsoft.DirectX.Direct3DX.dll
----------------------------------------
CopyDataClass
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/CopyDataClass.DLL
----------------------------------------
ArtDownloader
Assembly Version: 0.0.0.0
Win32 Version: 0.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/ArtDownloader.DLL
----------------------------------------
Microsoft.DirectX.DirectInput
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.DirectInput/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectInput.dll
----------------------------------------
Interop.UPNPLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/Interop.UPNPLib.DLL
----------------------------------------
FFDShowAPI
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/FFDShowAPI.DLL
----------------------------------------
Interop.DvdCore
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/Interop.DvdCore.DLL
----------------------------------------
Interop.WMPLib
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/Interop.WMPLib.DLL
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
----------------------------------------
Interop.iTunesLib
Assembly Version: 1.13.0.0
Win32 Version: 1.13.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/Interop.iTunesLib.DLL
----------------------------------------
Microsoft.DirectX.DirectDraw
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.DirectDraw/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectDraw.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5476 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5476 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Data.SQLite
Assembly Version: 1.0.81.0
Win32 Version: 1.0.81.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/System.Data.SQLite.DLL
----------------------------------------
Microsoft.DirectX.DirectSound
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX.DirectSound/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.DirectSound.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Management
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
CursorHider
Assembly Version: 1.0.3416.17500
Win32 Version: 1.0.3416.17500
CodeBase: file:///E:/_EmulatorsArcade/GameEx/PlugIns/CursorHider.dll
----------------------------------------
DT Loader
Assembly Version: 1.0.5357.24070
Win32 Version: 1.0.5357.24070
CodeBase: file:///E:/_EmulatorsArcade/GameEx/PlugIns/DT%20Loader.dll
----------------------------------------
HiScore Snapper
Assembly Version: 1.0.5279.22290
Win32 Version: 1.0.5279.22290
CodeBase: file:///E:/_EmulatorsArcade/GameEx/PlugIns/HiScore%20Snapper.dll
----------------------------------------
PlugInUltraStik
Assembly Version: 1.3.0.0
Win32 Version: 1.3.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/PlugIns/PlugInUltraStik.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Web
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5479 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
NetVideoPlayer
Assembly Version: 1.1.5042.24299
Win32 Version:
CodeBase: file:///E:/_EmulatorsArcade/GameEx/NetVideoPlayer.DLL
----------------------------------------
msvcm90
Assembly Version: 9.0.30729.6161
Win32 Version: 9.00.30729.6161
CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57/msvcm90.dll
----------------------------------------
Microsoft.DirectX
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///C:/Windows/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
----------------------------------------
Interop.AVGAComObj
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/Interop.AVGAComObj.DLL
----------------------------------------
ZIP
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///E:/_EmulatorsArcade/GameEx/ZIP.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Looking at the methods being called I assume the out of bounds is because you are trying to grab the last snap but for some reason it doesn't exist

If I run MAME and hit F12 myself the snap is created but your plugin doesn't seem to be sending F12 for me.

I have direct input enabled... you say that the F12 setting is saved even though the display doesn't show anything but I don't see it in my settings file

<?xml version="1.0" encoding="utf-8" standalone="yes"?><hi_snapper>  <settings>    <xml_ver>1.1</xml_ver>    <created>02 October 2014 23:25:40</created>    <debug>False</debug>    <username>Stu1983</username>    <initials>STU</initials>    <snap_path>E:\_EmulatorsArcade\GameEx\HiScore Snapper</snap_path>    <snap_type>1</snap_type>  </settings>  <mame>    <enabled>True</enabled>    <use_ddraw>False</use_ddraw>    <no_size>False</no_size>  </mame>  <misc>    <log_cl>True</log_cl>    <force>False</force>  </misc></hi_snapper>
Link to comment
Share on other sites

Pisser, you're right it's not there. Paste this into your settings.xml and I'll put out an update in a few.

<hi_snapper>  <settings>    <xml_ver>1.1</xml_ver>    <created>02 October 2014 23:25:40</created>    <debug>False</debug>    <username>Stu1983</username>    <initials>STU</initials>    <snap_path>E:\_EmulatorsArcade\GameEx\HiScore Snapper</snap_path>    <snap_type>1</snap_type>  </settings>  <mame>    <enabled>True</enabled>    <use_ddraw>False</use_ddraw>    <send_key>True</send_key>  </mame>  <misc>    <log_cl>True</log_cl>    <force>False</force>  </misc></hi_snapper>
Link to comment
Share on other sites

Version 1.0.6 hit the streets today! Check out these bug fixes and enhancements:

  • Fixed a bug where 'Send F12' option checkbox handler got lost in configuration
  • Tweaked the online checking so it will look online for a game and update the list if a full day has gone by without a restart
  • Added competition marquee download from the online DB and the competition marquee is now drawn to the submision snap
  • A lot of other enhancements including specific messages in the log to indicate if mame integrated mode is being used
  • Snapper now runs in attract mode too if you start a hi-score game using the F5 key
  • New message added to overhead if 'force snap' mode is enabled (either by configuration or because online datavase connection cannot be made)

Here's an example of the new overlay changes:

post-680-0-03015700-1412479864_thumb.jpg

post-680-0-31780800-1412482628_thumb.jpg

-DATABASE: SERVER SIDE CHANGES-

  • Added new check for enabled/disabled competitions and games
  • If a seasonal comp is over the games will not be included in the listed games
  • If a game is not enabled it will also not be listed
  • Server now checks database directly instead of relying on a text list generated by DBM

Extra special thanks to Stu1983 for the assistance in squishing the bug where the F12 setting wasn't being saved properly.

Find the download at the usual places. :)

  • Like 2
Link to comment
Share on other sites

Hey Adultery,

I was just reading this topic again due to the recent postings and I thought of something. I am not a programmer by any means, so I am wondering if this is even an option.

I still use the turn on and turn off option for the plugin, because of the whole d3d deal. It's still a fairly easy deal, as I just exit out of GameEx and check the box to turn it on when I need a snapshot. Again, I do this because I use bezel artwork around the game itself, due to my larger screen. When the plugin is enabled, that artwork becomes blurry.

Long short of it, I was wondering if there was a way to somehow make a sequence of key pressing put a check mark into that box without exiting GameEx to get to the PlugIn enabler .exe. Meaning basically, is there a way one could just make the plug in active while staying inside GameEx?

Link to comment
Share on other sites

Not the way the system is currently set up unfortunately. Tom initializes the plugins when GameEx loads up. The preferred option here is to just compile your own copy of mame with DirectInput so you can use D3D as your renderer which is much less painful than you might think and adds additional functionality such as hiscore and no nag support.

Link to comment
Share on other sites

I would think it possible to compile two different MAME executibles (in their own directories as distinct emulators, ROMS, etc.), one with D3D enabled and the other without. They could be combined as an emulator group or kept separate.

Link to comment
Share on other sites

Sorry Adultery, I know you've touched on this topic before. I don't mean to keep rehashing it. :)

I compiled my current version of MAME with the HK Mame Compiler 64(Edit: pretty sure it's .153). I don't recall an option for how you wanted to have things rendered. Is there a wiki or some website I can go to for further information? I really have no clue what the rendering stuff means, so I'd be starting from zero.

Link to comment
Share on other sites

I meant D3D sorry. :)

On one of the tabs on HK's compiler, there's a check box for 'Enable DirectInput'. Maybe Compile Options? I'm not positive atm. Just check that box before you compile and then you can use the plugin's 'mame internal snap mode' where it sends f12 to mame for taking the snap, which means you can use any renderer you wish. :)

Link to comment
Share on other sites

  • 4 weeks later...

So...

I want to add a timer to the plugin that shows the amount of time your game session was and add that to the snap.

Thoughts on this?

Link to comment
Share on other sites

It's an idea, and couldn't do any harm, but what use would it have? For instance some games seem to run better in directx than in directdraw, so if you play for 2 hours in directx, get your score then reload in ddraw to capture the leaderboard, what would be the purpose? Unless you can combine playtime in both modes which i'm sure you can.

Never mean to step on your toes man you know that, but was just wondering what application it could have? :)

Link to comment
Share on other sites

Just so you could say 'Look what I got for a score in 20 mins' or whatever. I will probably make it optional.

More for fun than for restrictive purposes. :)

It was an idea I had while I was in there to add support for mame as a seperate emulator if it's not part of integrated mame.

Link to comment
Share on other sites

  • 3 months later...

I can't get any snaps to be made.

When I push the shift-home combo, Mame pauses then starts pulling up CP-Wizard's Mame menu then closes that and puts me back to the play this game list.

I see in the log its trying to put a snap in a hidden directory. It seems like this might be a folder permission issue with where its supposed to put the snap but I don't see a problem in that folder.

What do I need to change?

post-8007-0-62321100-1425341177_thumb.jp

Settings.xml

GameEx.ini

post-8007-0-21586400-1425341634_thumb.jp

Link to comment
Share on other sites

I think the conflict is in CP Wizard unfortunately, the snap button must be hooked through it somehow.

Link to comment
Share on other sites

I turned off CPWizard and the snapper is working so definitely there's some sort of conflict there. I tried different CPWizard detect pause settings/etc but couldn't get anything to work.

I'm hoping someone has their setup working with CPWizard and the Snapper somehow.

Here's what I was using for CPWizard that works without the snapper.

post-8007-0-36821600-1425346954_thumb.jp

Link to comment
Share on other sites

What happens if you disable/uncheck "Screenshot" in CP Wizard? I've never used it (CP Wizard) but would assume that both plugins use the same method.

EDIT - Don't be afraid to shoot me down if i'm way off course here - as i said i've never used CP Wizard. I just like to give options/reasons to ponder :P

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