Jump to content


VIP Class
  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by DJRobX

  1. Yep we decided to tackle this table. That way I can work on the colorization keyframing while testing the table code itself.
  2. Remember that you can double click to "jump" the ball somewhere. Also you can point and shoot across the ramp so it will go in a straight line - you don't have to always drag it with the mouse
  3. Wow cool! Kick ass!
  4. That works out because I enjoy keyframing way more than coloring dots. I just wish there were a VPX of this table as it's much easier for me to debug with. Maybe this will help inspire someone to create it though. The XL ones are really amazing looking. The Baywatch colorization is gorgeous.
  5. Definitely interested (vpin). Love RBION!
  6. Pinball not showing up

    Another thing to check is that you don't have an uncalibrated game controller plugged in. If VP thinks it's a motion sensor it may be prohibiting the ball from making it out of the trough.
  7. These colorizations are definitely a tedious process, it's not at all surprising to me that many of them are incomplete. Just coloring the dots requires a ton of hard work and stamina. Then you get to keyframing, which can be quite a problem solving adventure; I can't wait to see cb3's tutorial chapters on this. I think we're starting to pick up steam as more people understand the tools and we're all able to help each other out. Exciting to see projects like this come to life for sure.
  8. Pin2DMD Editor Tutorial

    On p5, about the plane selection: You can try checking the other plane to see which one is the most clearly defined. As you state 90% of the time it won't matter, but if you encounter something that's only a couple of dots, you may find that the other plane could be a more reliable choice. I would also probably make a short note here that whenever this frame is seen, the keyframed animation will play. So if there is any repetition in the animation it might restart the sequence from the beginning. I sure you'll dedicate whole chapters to gotchyas, but this is a big one that we probably want to get into people's heads sooner rather than later so they start to understand how they need to break scenes and frames up.
  9. Sort of: We wanted to ensure that people who use the new 7.1 setups are able to configure VP9 appropriately. In VP9 it was possible to configure the table sounds to a separate card. If you switch to 7.1 or even 4.0, with the unmodified VP9 you have no way of getting the table sounds in the right place, it only supported two cards. So we ported the surround sound code and configuration bits, but did not enable the additional fade parameter in the PlaySound command. This allows you to put the playfield sounds in the right place (like a VPX table with no surround code), but the table is not able to control the fade position of sounds. It wouldn't be hard to port the final bits that allow the last fade parameter to work, but we weren't looking to add new features to VP9. We just want existing tables to play correctly on a modern configuration.
  10. I've just finished up a new feature for VPX - full 3D surround sound output for table effects. There are a few different ways this can be set up: 1) Basic 2CH audio - this should operate exactly as it did before. Forward/rear panning is ignored. 2) All effects to rear - Moves the table sounds to the back audio channels. This allows you to move the sounds into the cab like we were able to before, but without needing a second sound card. 3) Surround, front is front - This is the best setting if using a dedicated card for the surround sound table sounds. It makes the front channels the front of your cab (closest to you). This way if you use older versions of VP, the old legacy output still works well. 4) Surround, front is rear - This is a pretty "vanilla" surround setup. If you were to play on a home theater or with virtual 3D headphones, it's the most appropriate. The "front" speakers are in the rear of the cab (furthest from you). If VPinmame is also on the same card, will shares the audio with these front channels. 5) 7.1 surround (aka 6ch audio). If you want to drive your backglass, and 4 channel table sounds all off of one card, this is the setting to use. It shifts all of the table audio to the side and rear channels, leaving the fronts available for VPM and backglass sounds. This might also be a good setting to try if you are using just 2 speakers in the cab and 2 in the backbox,, the table sounds will pan partially towards the front in 4 speaker mode, letting the backbox give some of the surround effect. Please note that these modes are used in conjunction with the Windows speaker configurations. You can use any mode on any speaker system. Some sound cards even have virtual surround options that would work with this setup. You could set up a full 7.1 setup and dedicate it to just the playfield if you wanted with option #3 or #4, and use a separate card for VPM. I have tested the 7.1 mode and it works great, but I will use the #3 option for now as it is the most backwards compatible with VP9 and VP9 PhysMod5. Next up, we have changes to VPX to let us actually use these. There's a much revamped sound manager that lets you tweak the positions without touching the table script. So you can select the flippers and drag them down to the front of the cab right from there. There is also a new Fade parameter added to the PlaySound command that lets the scripts fully position the sound. Making the ball go full surround is fairly easy. Most tables are already set up for left/right panning, so you just add an additional, very similar function for front/rear fading: function AudioFade(ball) Dim tmp tmp = ball.y * 2 / Table1.height-1 If tmp > 0 Then AudioFade = Csng(tmp ^10) Else AudioFade = Csng(-((- tmp) ^10) ) End If End Function Then add the 9th parameter to PlaySound to include this function. For example, in Scared Stiff it looks like this: PlaySound("fx_ballrolling" & b), -1, Vol(BOT(b) )*1.2, Pan(BOT(b) ), 0, Pitch(BOT(b) ), 1, 0, AudioFade(BOT(b)) I've also done some pretty extensive work to fix the issues that required a VP restart every time you change the sound config. You can now flip the output between backglass and table or change the target sound cards without a restart. WARNING Because of the new sound manager features this increases the VP file version. Please make sure to back up your tables if you experiment with this build. Hey @toxie, I've committed this into my github here https://github.com/djrobx/vpinballx if you'd like to review and integrate. I spent quote a lot of time on this one, it's much more robust than the original 2-output hack that you integrated from me the last time. I know you want to move to BASS at some point. This isn't mutually exclusive with that. and might help you somewhat since I tried to eliminate some of the rampant code duplication, and steer some of the DirectSound stuff into PinSound.cpp. vpinballx.zip
  11. Yes it is possible to build a .spk file out of the TPA bin. It's fascinating because it's kind of a hybrid of SAM & Spike - it has SAM ADPCM audio samples instead of the stereo ones the real SPK has. But PinballBrowser has no trouble with the format.
  12. TMNT

    You keep saying that but it does, we fixed that in 1.7.1. There are just keyframing issues so the 128x32 replacement scenes don't always play. But they do, sometimes, and when they do, they work fine.
  13. Pin2DMD Editor Tutorial

    Nice start. You touch on the fact that you can switch between ColorMask and replace mode, but I might recommend using Color Mask as much as possible as it always preserves the original dots, and thus is tremendously easier to work with once you understand how to set up the palette groups. Once you've finished colorizing you pretty much always want to switch to Replace mode for non-dynamic scenes, since the ROM and colorized sequences are pretty much never in perfect sync.
  14. SAMBuild3.1 beta thread

    If you updated to VPX 10.5, the included verison of Freezy's dmddevice.DLL has colorization features disabled. Go to think Thalamus gave above and get the full version again.
  15. I dunno, it's been so long since I've seen a locked table, I don't think many think much of it anymore. I do remember hack-unlocking a VP9 table so I could look at something in its script when I ran across one a couple years ago.
  16. Me neither - probably a good thing that HorsePin is now aware that table locking is not as secure as he thought it was, and can change his strategy accordingly. Best of luck with your future endeavors and thanks for the work you shared, HoresPIn!
  17. The locking feature has not been secure since the day VPX was open sourced, so Toxie just finally got around to removing the useless feature.
  18. TMNT

    Yes, this is what I described above - a lot of the keyframes aren't triggering consistently. I think the quickest/easiest thing to do is make both the first and second frames of these animations trigger. It seems the DMD sometimes "skips" one frame. Also as Lucky1 suggested it may be better to make a mask out of one of the quadrants and only trigger on it. Shoudn't be too big of a deal, I just haven't had any time to work on it myself.
  19. Yeah, when the ROM is dynamically generating content (things like video modes, or in this case, the BURN RUBBER maps) we hit some major roadblocks as it's not practical to try and keyframe and color every possible combination of things the ROM can generate. For now we have to live with generic palettes or masks for such scenes. Lucky1 has spoken of an upcoming feature called "L-mask" that is supposed to help with this, allowing us to detect and colorize objects within a scene, but we don't have this yet.
  20. Pin2Dmd Editor

    It will go with whatever matches first. I believe it starts by searching whole frames, then goes through the masks. However it searches plane by plane, so mask 10, plane 1 will hit before mask 1, plane 2. So *probably* the lowest numbered mask will win. I would not try to rely on the searching behavior to prioritize keyframe hits (but I can think of a few cases where that might be useful ) It doesn't matter if multiple things point to the same animation frame as long as it's intentional. I do it intentionally in WCS often when the ROM has inconsistent transitions. to the "GOAL" animation for example. There are a few different combinations of things that start the same color mask sequence that is appropriate for all of them. It would be neat to have a feature where the editor can analyze the project looking for "ambiguous keyframes". I'm still trying to wrap my head around the editor code, I may implement it someday if I get good enough with the code. When I look at cb3's project with hundreds of keyframes, trying to figure out places where he might have unintentionally created overly-generic masks that triggers the wrong frame is currently almost impossible to catch without careful playtesting and looking at the logs. If the editor can check all the combinations and notice that Keyframe X points to animation A but the Keyframe Z pointing to animation B will also trigger on Keyframe X's frame, it would be very useful to help catch bugs.
  21. Pin2Dmd Editor

    Have you compared it to a VPin with freezy's? The nice thing about Freezy's is you can turn on the debug logs and see what caused the color changes. So if you see an unexpected change, you can look in the log and see what triggered. For missed changes, if you leave the dmddump going you can also temporarily import the recording and review the points where you thought it should have triggered something.
  22. Pin2Dmd Editor

    I do wonder about performance though - the more keyframes there are, the longer the lookups will take. It has to check numPlanes * numMasks times each frame, too. I would think B-tree lookups ought to be pretty quick relative to the actual hash calcuation though. That's why I liked where you were going with the colormaskseq - then once a sequence starts all those additional frames could just be contained to the one animation. Seems like a more ideal implementation would have been to just jump to any of the remaining frame hashes within the sequence when seen, that way if one gets missed it could re-sync whenever there's a match.
  23. SAMBuild3.1 beta thread

    Thanks as always Carny! These builds are still important because they have the color ROMs enabled. I sometimes refer to it as SAMColorBuild.
  24. cb3 has put in a crazy amount of work on this to make sure each scene looks its absolute best. Very nice work!
  25. TMNT

    Yep that's how I was testing. Like I said before it currently misses some frames on the animation sequences. Lucky had also mentioned that these Data East DMDs update in an unusual way, may be better to make a D-mask over the lower left or right quadrant (64x8 or smaller) and just use that to key off of. You can see in my capture that the left and right eyes aren't moving in sync. Shouldn't be too big of a deal though. -- Rob