Jump to content



Photo
- - - - -

Can table (rom) light states be used to trigger events?


  • Please log in to reply
23 replies to this topic

#21 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 29 November 2017 - 06:11 AM

Looks good to me.    This kind of complex state checking just isn't going to be pretty no matter what you do, but good use of clear variable names.   

 

I was thinking about this problem and another option is to hook into the palette switch commands in color-patched games.   The way the color patch works, games have the option to send out a palette change command when the ROM is about to play a certain video or show a certain frame, which is exactly the kind of notification you'd want to trigger PUP videos. 

 

Of course, this would have been moot in this case since Tron doesn't have a color patch available yet.   But might be something we could look into if you were doing a video mod for AC/DC or Metallica or something like that.



#22 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,976 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 30 November 2017 - 12:08 AM

Looks good to me.    This kind of complex state checking just isn't going to be pretty no matter what you do, but good use of clear variable names.   

 

I was thinking about this problem and another option is to hook into the palette switch commands in color-patched games.   The way the color patch works, games have the option to send out a palette change command when the ROM is about to play a certain video or show a certain frame, which is exactly the kind of notification you'd want to trigger PUP videos. 

 

Of course, this would have been moot in this case since Tron doesn't have a color patch available yet.   But might be something we could look into if you were doing a video mod for AC/DC or Metallica or something like that.

 

Someone at VPA mentioned a similar idea...using another "DMD device" ;) feature allows for this sort of thing as well. It wouldn't have helped too much more in this case of Tron for controlling mutliball modes (that was something that is very hard to control with a rom, and my main limiting factor), but it could help with some other modes that all used white for the neon colour ramps...which made it impossible for me to differentiate them.

 

Most other tables probably won't make it easy to do the same thing as this table did.  That being said... you can always just create a simple PuPB2S  and not have as much coolness....but still have something really cool looking for your tables.



#23 DJRobX

DJRobX

    Pinball Fan

  • VP Dev Team
  • PipPipPipPip
  • 941 posts
  • Location:Valencia, CA

  • Flag: United States of America

  • Favorite Pinball: F14 Tomcat

Posted 30 November 2017 - 03:57 AM

Another interesting but perhaps more system agnostic method of doing this would be to look for specific video frames.    I think this is how some real color DMDs work.   

 

So, keeping in mind that VPM video data can already be channeled through VP (like Cirqus Voltaire), you could try and match patterns, so when you say, see the first "Identity Disc Multiball" video frame, kick off your video.   Basically similar to what you're doing now, but using DMD dots instead of the table lights or ramp colors as triggers. 

 

I think this is possible with the current code - core.vbs currently manages reading the DMD data from VPM and sending it to a VP texture.     Would take a little work to come up with with an efficient "frame hashing" algorithm", but once that was figured out, it would probably make future creations like this a whole lot easier. 



#24 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,976 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 30 November 2017 - 05:01 AM

Another interesting but perhaps more system agnostic method of doing this would be to look for specific video frames.    I think this is how some real color DMDs work.   

 

So, keeping in mind that VPM video data can already be channeled through VP (like Cirqus Voltaire), you could try and match patterns, so when you say, see the first "Identity Disc Multiball" video frame, kick off your video.   Basically similar to what you're doing now, but using DMD dots instead of the table lights or ramp colors as triggers. 

 

I think this is possible with the current code - core.vbs currently manages reading the DMD data from VPM and sending it to a VP texture.     Would take a little work to come up with with an efficient "frame hashing" algorithm", but once that was figured out, it would probably make future creations like this a whole lot easier. 

 

 

Like this idea...very very much!  :)