Jump to content



Photo
* * * * * 3 votes

UltraDMD WIP


  • Please log in to reply
585 replies to this topic

#381 Shoopity

Shoopity

    Pinball Fan

  • Members
  • PipPipPipPip
  • 691 posts
  • Location:Colorado

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Contributor

Posted 03 October 2016 - 02:59 PM

Has anyone created an easy to understand High Score script for ultradmd? The simplest one I've seen is mfuegemanns from The Web but it's really just adapted from the VP text box stuff. The has to be something simpler right?

What do you mean exactly?  Do you mean displaying a score stored in the VPReg.stg?  If so, are you familiar with working with that file?



#382 freneticamnesic

freneticamnesic

    A Faint Ghost Through the Raindrops

  • VIP
  • 3,369 posts
  • Location:Portland, OR

  • Flag: United States of America

  • Favorite Pinball: Star Trek, Black Hole, AFM, Fast Draw, Tron, AMH

  • 360 Gamer Tag: sixgunsounddd

Posted 03 October 2016 - 04:11 PM

No, like entering a high score. Like the one you've got at the end of AMH that cycles through the letters of the alphabet and you can choose 3 characters and set a high score with initials

 

 

Has anyone created an easy to understand High Score script for ultradmd? The simplest one I've seen is mfuegemanns from The Web but it's really just adapted from the VP text box stuff. The has to be something simpler right?

What do you mean exactly?  Do you mean displaying a score stored in the VPReg.stg?  If so, are you familiar with working with that file?

 



#383 allknowing2012

allknowing2012

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,948 posts
  • Location:Waterloo, ON

  • Flag: Canada

  • Favorite Pinball: bucaneer

Contributor

Posted 03 October 2016 - 05:28 PM

Cant think of a "simple" version .. you need to capture the flipper keys (in hsmode) and handle that along with displaying the dmd image.

I have done a couple things - first make sure your scoreboard isnt still trying to display (turn off the timer perhaps).

use cancelrendering and then put the > A__< on the screen for example with the displaytest call and repeat...


* I don't know everything - I just have no life *
testimageNL

 

 

 

#384 Shoopity

Shoopity

    Pinball Fan

  • Members
  • PipPipPipPip
  • 691 posts
  • Location:Colorado

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Contributor

Posted 03 October 2016 - 05:59 PM

Ooh... easy to understand.  Not sure about that one.  If you're trying to mimic what's in AMH, the meat of what you'll want to look at in the code is in Sub NameEntry.  It's obviously been awhile since I've implemented this, so I'm going to forget stuff, but here's a basic list:

 

In AMH, I used CursorPOS to keep track if we were entering a name, and if we were, what position the cursor was in.  It was something like this:

50 = not entering initials; it is set to this when the table loads up, and after the start button is pushed on the third initial to go back to not entering initials

99 = exit flag; after the start button is pushed on the third initial, it gets set to this.  AFTER it gets set to 99, the code then calls NameEntry where it looks for the exit flag and if it's set, it sets CursorPOS to 50 (to exit name entry) and exits the NameEntry Sub

0   = Set to this at the end of a game and the player has beaten the high score.  Initials are stored in an array, so you can use CursorPOS as the array index, so you need to start with 0.

 

You need to include in your flipper code a check for whether you're entering initials.  In my code, if CusorPOS did NOT equal 50, then run the NameEntry stuff.  I personally decided to put my character incrementing/decrementing here (as opposed to a different sub), so you have to do a check if you're near the end of your of the alphabet loop.

You need to include in your start button code a check.  In my code, if CusorPOS did NOT equal 50, then you'd either store the current character in the Initials array at position CursorPOS and move the CursorPOS + 1, or you'd move the CursorPOS - 1 and set the Initials array at position CursorPOS to blank (the number 32), OR if it's the third (and last) character then you store the initials.

 

The meat of the NameEntry sub goes something like this:

First check if the exit flag got set; if it did, reload the high scores (since the new high score got set with the last initial entry), set CursorPOS to 50 (so your flipper and start code don't run any initials code), and exit the sub since you're done

I have 6 checks to determine if you're near the beginning or end of the alphabet loop.  These checks could be skipped entirely if you don't want to give the effect of scrolling through the alphabet; if all you want is to display the current character you're on, then you could just something like your DMDScene call and passing in the current character you're one.  One simple line.

 

I don't mind explaining in more detail how I personally implemented it if you want more.  I'm not sure if I can make generic enough to give you steps and let you code the specific implementation yourself.



#385 freneticamnesic

freneticamnesic

    A Faint Ghost Through the Raindrops

  • VIP
  • 3,369 posts
  • Location:Portland, OR

  • Flag: United States of America

  • Favorite Pinball: Star Trek, Black Hole, AFM, Fast Draw, Tron, AMH

  • 360 Gamer Tag: sixgunsounddd

Posted 03 October 2016 - 09:30 PM

I started to copy the AMH stuff but it was so connected to everything else it wasn't just simple copy/paste. I got the flipper stuff and the start key stuff, I think I didn't understand 50/99 so maybe I have a better understanding now if I go back. I'll try again. I liked being able to cycle through the letters and seeing them on the screen, I think that was an array and you were setting the position of the array, at least that part I mostly understood.



#386 chrdov

chrdov

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: United States of America

  • Favorite Pinball: Scared Stiff

Posted 04 October 2016 - 01:26 AM

Post the drain_hit script with the ultradmd call you are using

 

Alright, here.

Sub LoadUltraDMD  
	Set UltraDMD = CreateObject("UltraDMD.DMDObject")
	UltraDMD.Init
	UltraDMD.SetVideoStretchMode 2
	UltraDMD.SetProjectFolder "C:\Users\*****\Documents"
	vid0 = "Sonic_BallLost.wmv"
	vid1 = "Sonic_BallSaved.wmv"
	vid2 = "SonicSpinballIntro.wmv"
End Sub

Sub Drain_Hit()
	Drain.DestroyBall
	If BallSaveTimer.Enabled = False and ServiceMode = 0 Then
		If Multiball = 0 Then
			Drain.TimerEnabled = True
			BallInPlay = 0
			PlaySound "SS_036"
			If UltraDMD.IsRendering = False Then
				DisplayImage vid0, 3000
			End If
		Else
			PlayMusic "Toxic Caves - Sonic Spinball (Genesis) Music Extended.mp3"
			Multiball = 0
		End If
	ElseIf BallSaveTimer.Enabled = True and ServiceMode = 0 Then
		If Multiball = 0 Then
			BallInPlay = 0
			If UltraDMD.IsRendering = False Then
				DisplayImage vid1, 3000
			End If
			PlaySound "SS_006"
			BallSaveTimer.Enabled = False
			BallSpawner.CreateBall
			BallSpawner.Kick 90,20
			Plunger.PullBack
			BallInPlay = 1
		Else
			Plunger.CreateBall
			Plunger.PullBack
		End If
	End If
End Sub

Sub DisplayImage(Img,Duration)
	UltraDMD.DisplayScene00 Img, "", 15, "", 15, 14, Duration, 14
End Sub

Sub DisplayText(Line1,Line2,Duration)
	UltraDMD.DisplayScene00 "", Line1, 15, Line2, 15, 14, Duration, 14
End Sub 

Also, I tried to do the Load function this way as well.

Sub LoadUltraDMD  
	Set UltraDMD = CreateObject("UltraDMD.DMDObject")
	UltraDMD.Init
	UltraDMD.SetVideoStretchMode 2
	UltraDMD.SetProjectFolder "C:\Users\*****\Documents"
	vid0 = UltraDMD.RegisterVideo(2,false,"Sonic_BallLost.wmv")
	vid1 = UltraDMD.RegisterVideo(2,false,"Sonic_BallSaved.wmv")
	vid2 = UltraDMD.RegisterVideo(2,false,"SonicSpinballIntro.wmv")
End Sub

Edited by chrdov, 04 October 2016 - 01:27 AM.


#387 jpsalas

jpsalas

    Grand Schtroumpf

  • VIP
  • 7,300 posts
  • Location:I'm Spanish, but I live in Oslo (Norway)

  • Flag: Norway

  • Favorite Pinball: I like both new and old, but I guess I prefer modern tables with some rules and goals to achieve.



Posted 09 October 2016 - 01:21 PM

I wonder if it is possible to remove the border frame without using a black image?


If you want to check my latest uploads then click on the image below:

 

vp.jpg

 

Next table? A tribute table to Stern's Foo Fighters


#388 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 19 October 2016 - 07:30 PM

i updated to the latest version, on my laptop, win10, it is working fine

 

on my cab win7 the msi can't update my current ultradmd folder, so i made a copy of my ultradmd folder, tried a fresh install with the msi, installation says it's ok, i checked that all the files are unblocked, i put ultradmd.exe in admin, i try a table, nothing in my pindmd (i have a pindmd2), i saw the pindmd.ini, i changed the port com of the the pindmd2, which seems to be 6, but nothing either

 

and no error message, no log either

 

any other idea?


Edited by arngrim, 19 October 2016 - 07:36 PM.


#389 allknowing2012

allknowing2012

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,948 posts
  • Location:Waterloo, ON

  • Flag: Canada

  • Favorite Pinball: bucaneer

Contributor

Posted 19 October 2016 - 09:49 PM

Any help with

UltraDMD.exe /i

 

?


* I don't know everything - I just have no life *
testimageNL

 

 

 

#390 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 19 October 2016 - 10:18 PM

seems it is correctly installed, i am able to launch it via a virtua dmd, and if i enter config i see the right version installed, but i can't make the pindmd2 &orking, 

 

&hat is strange in the previous version installed on my cab i didn't have a pindmd.dll and ini and it &as &orking fine, no& if i remove these 2 files ultradmd can't run, and on the ini i try to fill it like this

 

[communication]
debug=1
comport=COM6
 
[pinmame]
log_frames=1
 
but nada
 
anybody could run the latest version &ith pindmd2?


#391 CaptFlam

CaptFlam

    Enthusiast

  • Members
  • PipPipPip
  • 51 posts

  • Flag: Turkey

  • Favorite Pinball: Addams Family

Posted 20 October 2016 - 05:57 PM

afaik pindmd.dll is for pindmd3 only. pindmd2 should run without it.

You should install libusb drivers using zadig utility (google) for your device since it should not register as a comport.


Edited by CaptFlam, 20 October 2016 - 06:04 PM.


#392 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 21 October 2016 - 04:53 PM

if i remove pindmd.dll and ini from the ultradmd folder of 1.4 vp can't even start an ultradmd table
so my real dmd is working fine with vpm tables, pinballx, ultradmd 1.3, so it seems that 1.4 is not made for not pindmd3 devices? the pindmd.dll is not present in 1.3, and both 1.3 and 1.4 have libusb0.dll, is it what pindmd2 is supposed to use?

#393 CaptFlam

CaptFlam

    Enthusiast

  • Members
  • PipPipPip
  • 51 posts

  • Flag: Turkey

  • Favorite Pinball: Addams Family

Posted 22 October 2016 - 09:26 AM

Yes pindmd2 uses libusb. Copy the libusb0.dll over to your ultradmd directory. 

Maybe that works.


Edited by CaptFlam, 22 October 2016 - 09:28 AM.


#394 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 22 October 2016 - 10:09 AM

it is already there initially

#395 CaptFlam

CaptFlam

    Enthusiast

  • Members
  • PipPipPip
  • 51 posts

  • Flag: Turkey

  • Favorite Pinball: Addams Family

Posted 22 October 2016 - 05:48 PM

You can also try to copy the XDMD.dll from the working version.



#396 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 22 October 2016 - 06:15 PM

ok i will try that ;)

#397 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 23 October 2016 - 12:08 PM

it was not better, vp doesn't even start either

 

i tried to rollbakc to previous version, means i used the command UltraDMD.exe /i for the previous version but it seems it is not enough to switch from another version, it is still trying to use the new version that was successfully registered from the msi

 

could be good to hear from ultrapeepi, for me pindmd2 is not working at all with the latest version, and i expect from the upcoming tables, like perhaps ghostbusters jp, that it will use 1.4



#398 FrankT

FrankT

    Enthusiast

  • Members
  • PipPipPip
  • 394 posts
  • Location:England

  • Flag: United Kingdom

  • Favorite Pinball: The Flintstones (although I'll play any pinball machine!)

Posted 24 October 2016 - 11:37 PM

I have a question: will there be a version of UltraDMD for Future Pinball?



#399 CaptFlam

CaptFlam

    Enthusiast

  • Members
  • PipPipPip
  • 51 posts

  • Flag: Turkey

  • Favorite Pinball: Addams Family

Posted 25 October 2016 - 02:19 PM

I just checked the 1.4 with pindmd2 and it is working ! Could you please check if there is a composite device installed under Device-Manager - USB Controller when you plug in the pindmd2 ? 



#400 arngrim

arngrim

    DJ Force Feedback

  • VIP
  • 2,188 posts
  • Location:Charleroi, Belgium

  • Flag: Belgium

  • Favorite Pinball: Monster bash



Posted 25 October 2016 - 05:05 PM

hmmm, then you need to tell me &hat you did ;)

 

just made a fresh install of the 1.4 again, my realdmd stays black, and i can see the virtual dmd

 

my pindmd is correctly installed, if it &orks on the 1.3 or i miss something:

 

Attached File  Sans titre.png   15.48KB   8 downloads<

 

did you touch the pindmd ini?

 

did you change something on the config of the ultradlmd?