Jump to content



Photo
- - - - -

WIP: Hi-res alphanumeric rendering with dmdext

dmdext

  • Please log in to reply
109 replies to this topic

#81 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 06 July 2020 - 08:20 PM

I love you! ;-)

Gesendet von meinem SM-G955F mit Tapatalk

#82 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,257 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 06 July 2020 - 11:40 PM

 

 

@Carny_Priest: Awesome findings, would it be okay if I include your styles in the next release?

 

Sure. I figured out how to get the configuration window consistently. Gave me a chance to tone down the green style a little bit more. Not claiming this is definitive. I'm hoping others will go ahead and post their style definitions.

[alphanumeric]
enabled = false
style = default
style.default.skewangle = 12
style.default.weight = Bold
style.default.backgroundcolor = #ff000000
style.default.foreground.enabled = true
style.default.foreground.color = #fffbe6cb
style.default.foreground.blur.enabled = true
style.default.foreground.blur.x = 2
style.default.foreground.blur.y = 2
style.default.foreground.dilate.enabled = false
style.default.innerglow.enabled = true
style.default.innerglow.color = #a0dd6a03
style.default.innerglow.blur.enabled = true
style.default.innerglow.blur.x = 15
style.default.innerglow.blur.y = 13
style.default.innerglow.dilate.enabled = true
style.default.innerglow.dilate.x = 15
style.default.innerglow.dilate.y = 10
style.default.outerglow.enabled = true
style.default.outerglow.color = #40b65829
style.default.outerglow.blur.enabled = true
style.default.outerglow.blur.x = 50
style.default.outerglow.blur.y = 50
style.default.outerglow.dilate.enabled = true
style.default.outerglow.dilate.x = 90
style.default.outerglow.dilate.y = 40
style.default.background.enabled = true
style.default.background.color = #2dfffafa
style.default.background.blur.enabled = true
style.default.background.blur.x = 7
style.default.background.blur.y = 7
style.default.background.dilate.enabled = false
style.blue.skewangle = 12
style.blue.weight = Bold
style.blue.backgroundcolor = #ff000000
style.blue.foreground.enabled = true
style.blue.foreground.color = #ff00ffff
style.blue.foreground.blur.enabled = true
style.blue.foreground.blur.x = 2
style.blue.foreground.blur.y = 2
style.blue.foreground.dilate.enabled = false
style.blue.innerglow.enabled = true
style.blue.innerglow.color = #ff0000ff
style.blue.innerglow.blur.enabled = true
style.blue.innerglow.blur.x = 15
style.blue.innerglow.blur.y = 13
style.blue.innerglow.dilate.enabled = true
style.blue.innerglow.dilate.x = 15
style.blue.innerglow.dilate.y = 10
style.blue.outerglow.enabled = true
style.blue.outerglow.color = #ff000080
style.blue.outerglow.blur.enabled = true
style.blue.outerglow.blur.x = 50
style.blue.outerglow.blur.y = 50
style.blue.outerglow.dilate.enabled = true
style.blue.outerglow.dilate.x = 6
style.blue.outerglow.dilate.y = 40
style.blue.background.enabled = true
style.blue.background.color = #2dfffafa
style.blue.background.blur.enabled = true
style.blue.background.blur.x = 7
style.blue.background.blur.y = 7
style.blue.background.dilate.enabled = false
style.green.skewangle = 12
style.green.weight = Bold
style.green.backgroundcolor = #ff000000
style.green.foreground.enabled = true
style.green.foreground.color = #ff00ff00
style.green.foreground.blur.enabled = true
style.green.foreground.blur.x = 2
style.green.foreground.blur.y = 2
style.green.foreground.dilate.enabled = false
style.green.innerglow.enabled = true
style.green.innerglow.color = #eb00ff7f
style.green.innerglow.blur.enabled = true
style.green.innerglow.blur.x = 15
style.green.innerglow.blur.y = 13
style.green.innerglow.dilate.enabled = true
style.green.innerglow.dilate.x = 4
style.green.innerglow.dilate.y = 4
style.green.outerglow.enabled = true
style.green.outerglow.color = #b900fa9a
style.green.outerglow.blur.enabled = true
style.green.outerglow.blur.x = 50
style.green.outerglow.blur.y = 50
style.green.outerglow.dilate.enabled = true
style.green.outerglow.dilate.x = 1
style.green.outerglow.dilate.y = 2
style.green.background.enabled = true
style.green.background.color = #2dfffafa
style.green.background.blur.enabled = true
style.green.background.blur.x = 7
style.green.background.blur.y = 7
style.green.background.dilate.enabled = false




#83 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

  • Flag: ---------

  • Favorite Pinball: T2, TOM, AFM

Posted 07 July 2020 - 10:34 PM

Thanks, this will go in the next time I take a dmdext break ;)



#84 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,257 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 10 July 2020 - 02:39 AM

I did have an incident where dmddevice.ini got overwritten. I had tried to start a new section for Heavy Metal Meltdown and I mistakenly called it heavymtl instead of hvymetal. I enabled external dmd in game options and started positioning. The program overwrote the entire ini with a new section with the correct value, hvymetal. Last backup was from days ago. Luckily, a recent cached version happened to be open in Notepad so I recovered pretty quickly. I did not try to reproduce, so I don 't know if this was a bug or some coincidence. My workflow tends to involve getting my section values from the nvram file name. This usually works most of the time, but I found that the match is against the cgamename value in the table script and that it is case sensitive. So, there were times that I had the wrong value for section specified in the ini but it did not get blown away. I'm guessing that it was because in those instances the alphanumeric frames did not come up but the virtualdmd did just as default as defined in the ini. I didn't reposition anything so there was no new data to write (or overwrite). In any case, after that first scare I was constantly copying dmddevice.ini to another folder prior to testing anything.

 

In short, two points.

 

1. gamename matching is case sensitive

2. always make a backup, always make a backup

 

I've completed adding alphanumeric to the tables that I have installed that use true alphanumeric. Probably not going to go back and add for the earlier solid states. In theory, I would take some images of numerals from these alphanumeric renders and replace the default ones in DB2 Designer. I don't know that I will actually get around to doing that. I've got tons of hardware work to do on my cabinet.

 

I think this looks really great and more true to the actual displays. I have not noticed any performance issues.

 

On alphanumeric display dimming for WPC (FH, BOP, and Harley-Davidson), I'm not sure I see anything in the PinMAME source code under the WPC driver where this has been emulated yet. Requires emulating a high resolution timer and it would only have been used for those three games. Don't know what kind of work it would entail.   



#85 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,954 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 10 July 2020 - 04:36 AM

Ah. That post reminds me now on what crashed mine. It was the VPMAlias. I did setup mandalorian for whatever rom it was actually using and it wiped out the whole ini like Carny just now described.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#86 Wizball

Wizball

    Enthusiast

  • Members
  • PipPipPip
  • 180 posts

  • Flag: ---------

  • Favorite Pinball: Tales of the Arabian Nights

Posted 11 July 2020 - 08:39 PM

I have made original tables which use an alphanumeric style display, and I am looking for a way to use the VPM display in a table that does not use a ROM.



#87 MrChucky

MrChucky

    Hobbyist

  • Members
  • PipPip
  • 11 posts

  • Flag: Netherlands

  • Favorite Pinball: Indiana Jones Pinball adventure

Posted 31 October 2020 - 02:01 PM

Hi Guys,

 

I've got a problem, since I've installed Freezy's DMDEXT v.1.8 , all tables with an Alphanumeric DMD ( Diner, Tom & Jerry, Fun House etc ) I get a Virtual DMD on my playscreen, which I don't want because I have a PinDMDM3, hitting F1  "show dmd / Display window" is already off, and in the DmdDevice.ini  there is a line [virtualdmd] enabled = false

So how do I turn off the virtual DMD ?



#88 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,954 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 31 October 2020 - 02:07 PM

You want to turn off the alphanum dmd - not the virtual one I recon. Look for outhere's posts on the subject.


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#89 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,796 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 31 October 2020 - 02:37 PM

Hi Guys,

 

I've got a problem, since I've installed Freezy's DMDEXT v.1.8 , all tables with an Alphanumeric DMD ( Diner, Tom & Jerry, Fun House etc ) I get a Virtual DMD on my playscreen, which I don't want because I have a PinDMDM3, hitting F1  "show dmd / Display window" is already off, and in the DmdDevice.ini  there is a line [virtualdmd] enabled = false

So how do I turn off the virtual DMD ?

http://vpuniverse.co...s#comment-42753



#90 MrChucky

MrChucky

    Hobbyist

  • Members
  • PipPip
  • 11 posts

  • Flag: Netherlands

  • Favorite Pinball: Indiana Jones Pinball adventure

Posted 08 November 2020 - 12:49 PM

Thanks guys, I added the lines below in my dmddevice.ini and I no longer have that virtual DMD again.

[alphanumeric]

enabled = false



#91 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

  • Flag: ---------

  • Favorite Pinball: T2, TOM, AFM

Posted 04 March 2021 - 10:43 PM

So @Schreibi34 I'm trying to reproduce overriding dmddevice.ini. Started Road Kings in VPX, moved one of the alphanums, quit. Exited VPX, started again, loaded and started Road Kings again, and the position was the correct one (the one where I moved it before I quit VPX).

 

Any way you could provide a step-by-step reproduction guide?



#92 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,954 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 04 March 2021 - 10:55 PM

That's the thing Freezy. I did "many", well, a few more than I wanted to loose - then it all of a sudden happened and then I didn't want to even try it anymore since I had no backup. A tip maybe is that all it knew was the last table - not the other roms I've done previously. That is also why I don't think it is a good idea to slurp all the roms settings and if this fails and it writes back a complete *.ini - with maybe just the last rom.


Edited by Thalamus, 04 March 2021 - 11:01 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#93 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 05 March 2021 - 02:37 AM

So @Schreibi34 I'm trying to reproduce overriding dmddevice.ini. Started Road Kings in VPX, moved one of the alphanums, quit. Exited VPX, started again, loaded and started Road Kings again, and the position was the correct one (the one where I moved it before I quit VPX).

 

Any way you could provide a step-by-step reproduction guide?

 

I had something sort of like that happen before, and i found that it was somehow sucking in settings from a 2nd dmddevice.ini that was left in the XDMD folder
once i killed the no longer used anyways XDMD folder, that quit happening

 

do not quite know why or how, but it was 
so i made sure there were no other dmddevice.ini's and issue went bye bye

maybe was reg related? as XDMD was where ultraDMD had been installed before i ditched it (and it was ditched already when i ran into the issue)


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#94 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 05 March 2021 - 05:49 AM

Thanks for looking into this again! Great stuff with the DMD render!

 

All i know is what i have written in post #71 in this thread. It's like it is reading from cache on the second start and then uses those values from the cache to overwrite the .ini  Not 100% sure though!



#95 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 05 March 2021 - 05:57 AM

Thanks for looking into this again! Great stuff with the DMD render!

 

All i know is what i have written in post #71 in this thread. It's like it is reading from cache on the second start and then uses those values from the cache to overwrite the .ini  Not 100% sure though!

 

If it is not a clean exit and restart, sometimes VPX keeps VPinMAME loaded

some ROMs it seems to do worse than others, and sometimes seems as it does not re-read the ini
as well as some other things

 

full exit of vpx and relaunch should resolve that though, and i do not think dmdext is at fault but simply a victim in those cases


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#96 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

  • Flag: ---------

  • Favorite Pinball: T2, TOM, AFM

Posted 05 March 2021 - 09:00 AM

Well, it's difficult to fix something I can't reproduce. Here's how loading and saving config works in dmdext, maybe that makes it clearer.

The ini file gets loaded when the DLL is instantiated. This is typically when VPM gets loaded, i.e. when starting setup.exe or when launching the first VPM game in vpinball.exe. The config is only read once and is kept in memory until VPM and thus DmdDevice.dll is unloaded.

You can of course change the config by moving the DMD, changing styles etc through the dmdext UI, which updates the config in memory. Every change in memory is immediately persisted on disk, i.e. written back to the ini.

So it's a one way thing. If you update DmdDevice.ini manually while VPM/DmdDevice is still loaded, it will be overridden sooner or later.

Now, the tricky part is that VPM and thus DmdDevice.dll don't get unloaded when you exit a table. So if you start and quit a table but don't exit vpinball.exe and *then* edit DmdDevice.ini, your changes will get overridden next time you launch a table.

I'm not sure that's the use case here because @Schreibi34 you talk about "closing VPX". The "cache" however only exists while VPX is running.

What I could do is "re-read" the ini when a new game starts and not only when the DLL gets loaded. That might improve the override issues?


Also, we're looking into supporting multiple inis so you can more easily share them without having to copy+paste shit all the time. That might improve the situation as well, since the "side inis" would be read-only.



#97 Schlabber34

Schlabber34

    Enthusiast

  • Members
  • PipPipPip
  • 311 posts

  • Flag: Germany

  • Favorite Pinball: High Speed

Posted 05 March 2021 - 09:40 AM

I think you nailed it! What you said fits to my problems with the .ini

 

Rereading the ini on game start sounds like a good idea! Because then the ini gets "overwritten" with the correct values when changing the DMD in game!

 

Side ini's sound great!


Edited by Schreibi34, 05 March 2021 - 09:41 AM.


#98 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,954 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 05 March 2021 - 12:13 PM

Sidecar *.ini is basically the same as my suggestion - using registry. So, I'm happy to see that implemented. Easy to share too :)


From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#99 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

  • Flag: ---------

  • Favorite Pinball: T2, TOM, AFM

Posted 05 March 2021 - 12:20 PM

Yeah, Vincent will have a go at it, see discussion here.



#100 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

  • Flag: ---------

  • Favorite Pinball: T2, TOM, AFM

Posted 05 March 2021 - 05:30 PM

Okay I've added a reload when a new game starts. Also @Carny_Priest's alphanum styles are in. I think that's it so far from this thread ;)







Also tagged with one or more of these keywords: dmdext