Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DLL] VPM ROM settings are not saved when started with PBX #31

Closed
sverrewl opened this issue Jan 30, 2017 · 13 comments
Closed

[DLL] VPM ROM settings are not saved when started with PBX #31

sverrewl opened this issue Jan 30, 2017 · 13 comments

Comments

@sverrewl
Copy link

Using latest 1.5 it seems that VP tables always crash after exit on PinDMD3. Features like using camera to setup things like layback is kind of useless with this happening.

@freezy
Copy link
Owner

freezy commented Jan 30, 2017

Thanks, got a few crash reports about that one. :)

Can you try this build and see if it's fixed? Cheers!

DmdDevice.zip

@sverrewl
Copy link
Author

sverrewl commented Jan 31, 2017 via email

@sverrewl
Copy link
Author

sverrewl commented Jan 31, 2017 via email

@freezy
Copy link
Owner

freezy commented Feb 15, 2017

A log would be helpful and also a screenshot or .ini snippet of PBX would be good in order to reproduce.

@sverrewl
Copy link
Author

sverrewl commented Feb 15, 2017

Using your dmddevice.dll instead of lucky1' - dmd == black. Log from PBX is exactly like when working.

15:52:01.4  15.02.2017:  PinballX - Version 2.28
15:52:01.4  15.02.2017:  Windows 7 Ultimate Service Pack 1 64-bit (7,9638671875GB)
15:52:01.4  15.02.2017:  Loading Settings
15:52:01.4  15.02.2017:  Initialize Component
15:52:01.5  15.02.2017:  Initialize Display
15:52:02.5  15.02.2017:  Loading PlugIns
15:52:02.6  15.02.2017:  Created DirectX BackGlass Window
15:52:02.7  15.02.2017:  Hiding Cursor
15:52:02.7  15.02.2017:  Hiding Taskbar
15:52:02.7  15.02.2017:  Real DMD Intialized
15:52:02.7  15.02.2017:  CPU:  Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
15:52:02.7  15.02.2017:  GPU 1: NVIDIA GeForce GTX 750 Ti
15:52:02.7  15.02.2017:  Displays: 2
15:52:03.0  15.02.2017:  Load Game List
15:52:03.0  15.02.2017:  Loading Database: Visual Pinball
15:52:03.0  15.02.2017:  Loading Database: Physmod5
15:52:03.0  15.02.2017:  Loading Database: VP9_Tables
15:52:03.0  15.02.2017:  Finding and matching artwork and videos
15:52:03.7  15.02.2017:  Loading Game Statistics and Scores
15:52:03.8  15.02.2017:  Main display running full screen windowed.
15:52:03.8  15.02.2017:  Loading Surfaces
15:52:04.2  15.02.2017:  Finished Loading Surfaces
15:52:04.2  15.02.2017:  Initialize Audio
15:52:04.2  15.02.2017:  Set Keyboard Controls
15:52:04.2  15.02.2017:  Initialize Joystick
15:52:04.3  15.02.2017:  1 Joystick Attached
15:52:04.3  15.02.2017:  Started
15:52:08.6  15.02.2017:  Launch System
15:52:08.6  15.02.2017:  Waiting for threads
15:52:08.6  15.02.2017:  Disposing display
15:52:09.9  15.02.2017:  C:\Visual_Pinball\VPinballX.exe /play -"C:\Visual_Pinball\Tables\VPX\Junk Yard_VPX_1_3.vpx"
15:52:10.4  15.02.2017:  C:\PinballX\vpauto.exe 
15:52:15.6  15.02.2017:  Found PinMAME ROM: genie.nv
15:52:19.1  15.02.2017:  Hidden Visual Pinball Editor Window
15:52:26.5  15.02.2017:  Exit System Control Pressed
15:52:33.8  15.02.2017:  C:\pacfix\run_after_pinballx.cmd 
15:52:38.0  15.02.2017:  Created DirectX BackGlass Window
15:52:38.0  15.02.2017:  Real DMD Intialized
15:52:38.0  15.02.2017:  Main display running full screen windowed.
15:52:41.9  15.02.2017:  Exiting
15:52:41.9  15.02.2017:  Showing Taskbar
15:52:41.9  15.02.2017:  Unhiding Mouse Cursor
15:52:41.9  15.02.2017:  Disposing Plugins
15:52:41.9  15.02.2017:  Saving Settings
15:52:41.9  15.02.2017:  Bye

So, in fact 2 different dmddevice.dll - yours in VP, lucky1 in PBX and UltraDMD works.
I wouldn't have noticed that there is a problem if it hasn't been for that I play for high-scores and they didn't get saved. Load a table, add some coins, start a game, exit, reload table and the coin is one more than you would expect. Grand Champion is kind of essential for most, Pinball is all about setting those as high as possible :-)

Attached pinballx.ini and post_run_script

PinballX._ni.txt
run_after_pinballx_cmd.txt

@freezy
Copy link
Owner

freezy commented Feb 15, 2017

Hang on, isn't Grand Champion an EM Game? How is the DMD relevant?

@sverrewl
Copy link
Author

Haha. No any DMD table - high-score ... where you put your name in .. after you exit, the old score is still there. Might be a EM table - idk ... but, I'm not that stupid :)

@freezy
Copy link
Owner

freezy commented Feb 15, 2017

Okay, so to summarize, when launching an SS game from PBX and the dmdext DLL, high-scores (or any ROM settings) don't get saved.

However, they get saved when:

  • Launched directly without PBX with dmdext DLL
  • Launched through PBX with a different DLL or native VPM rendering
  • An earlier version of the dmdext DLL works?

That's the conclusion? And you suspect something smelly with UltraDMD being used in PBX through yet another dmddevice.dll?

@sverrewl
Copy link
Author

Yes, thats my conclusion - or, I should say I'm not 100% sure that any earlier dmdext.dll used to work perfectly. It was only by chance that I noticed this bug. I played a hell of a game with exactly the dll you posted earlier in this thread ... streaming and all. Then I noticed because I set a great score that it was lost and the debug began.

UltraDMD - not sure. I don't play that much original tables. I simply can't get any table to perform very well with it. FPS seems to drop to a crawl. What I do notice is that UltraDMD doesn't exit cleanly - and if played via PBX - since I use DMD in the menues, PBX can't re-open DMD and starts to complain. PinDMD not found.

That is why I do kill it in the post-script. Would love if it was possible to ask ultradmd to exit via VP script eg. table1_exit() ... like controller.stop or something.

@freezy
Copy link
Owner

freezy commented Feb 15, 2017

Okay so if you could try one more thing: Since your kill script is only used for UltraDMD tables anyway, could you disable it and see if that changes anything?

I'll try to reproduce this, but I've never set up UltraDMD for PBX. Meanwhile if you remember which dmdext DLL used to work with your setup, that would be interesting as well.

@sverrewl
Copy link
Author

Back. Unfortunately no change. All in on installer does install the UltraDMD in VP\XDMD. As PinDMD3 user you only replace those xdmd.dll and xdmdnative.dll with the ones lucky1 provided. And add the dmddevice.dll. My guess is that you need to use lucky1' to get it working.

@freezy freezy changed the title PinDMD3 crashes on exit with 1.5 [DLL] VPM ROM settings are not saved when started with PBX Feb 15, 2017
@sverrewl
Copy link
Author

Update : Don't longer believe it is dmddevice.dll alone that is the problem I'm seeing. I had forgotten that I'm running a special build from DjRobX

http://vpuniverse.com/forums/forums/topic/2687-code-change-to-enable-sam-le-driver-board-support/?do=findComment&comment=33050

If I run official, nvram seems to be saved. So we should close this case. I still have crashes, but, as I see it It can't be just dmddevice.dll related.

Functionality request - I would love if we could get a simply "dmdext play -s 1 -f filename.png". Play image for 1 second and exit ( not clearing dmd afterwards ).

@freezy
Copy link
Owner

freezy commented Feb 19, 2017 via email

@freezy freezy closed this as completed Mar 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants