Another beta phase for the upcoming VP 10.4 release
- add paranoia re-import sound patch by DJRobX
- remove rendering of lower playfield border/quad
- add size column to collection manager and fix sorting of collections
- tweak add/remove to collection option
- check for potential null pointer
- update nudging test table with mods by Sir Cheddar
- core.vbs package patch by nFozzy:
o Prevent 'object not a collection' errors if vpmNudge.TiltObj isn't set
o Support for double leaf flipper switches
o For now, keybinds for these staged flippers are defined in VPMKeys.vbs. By default they are set to LeftFlipperKey and RightFlipperKey, disabling them.
o Adapting older tables requires vpmFlips: Create upper flipper subs and point SolCallback(sULFlipper) and SolCallback(sURFlipper) to them.
o This may break compatibility with some older WPC tables that use the 'cSingleLFlip' method (More info in WPC.vbs)
o Integrated FastFlips, (new object vpmFlips): Low latency flipper response for games with pre-solid state flippers
o Ensure 'vpmInit me' is called in the table _init section
o UseSolenoids = 2 enables and auto sets the game-on solenoid (based on GameOnSolenoid in the system .vbs script)
o Important info on supported WPC games is documented in WPC.vbs
- fix bug with new POV autload code when using the UI to load a table on start
- add some null pointer checks
- change POV settings file ending from .xml to .pov (to prevent issues with PinballX)
- add sam.vbs to the scripts
- update to Win32++ v8.5
- allow script to change ball spin (angular velocity and momentum) (see CommandReference.txt) (by DJRobX)
- experimental latency reduction code. A value of 600 works well on my cab. (by DJRobX)
Regarding the experimental latency reduction code:
Artificially lengthen the execution of the physics loop by X usecs, to give more opportunities to read changes from input(s) (try values in the multiple 100ms up to maximum 1000 range, in general: the more, the faster the CPU is)
Intended mainly to be used if vsync is enabled (e.g. most idle time is shifted from vsync-waiting to here)
If we've reached the end of the artificial delay cycle (probably about 40% of the way through), fire a "frame sync" timer event so VPM can react to input.
This will effectively double the "-1" timer rate, but the goal, when this option is enabled, is to reduce latency and those "-1" timer calls should be roughly
halfway through the cycle, so it results in a pretty nice overall latency decrease.
There is also a new registry key under Player/MinPhysLoopTime (see RegistryKeys.txt) to define the minimal loop time
- fix key handling in all manager dialogs (material, image, sound and so on)
- changelog updated
- add support for loading auto POV settings if they exists. You can now define an extra POV xml file for each table and name it like the VPX file.
Example: you have custom POV settings for the table "QBerts Quest (Gottlieb 1983).vpx" then save the POV settings into the file "QBerts Quest (Gottlieb 1983).xml" and place it
in the same directory as the VPX file. Now VPX will load the POV settings when loading the "QBerts Quest (Gottlieb 1983).vpx" (in the editor/player).
Or if you like to have a default POV settings that is used for all other tables save it under "autopov.xml"
- only allow material names with a max size of 31 characters
- internal meshes optimized
- Patch by DJRobX: 1) Stop sounds when exiting sound dialog or exiting position dialog. Support reading nudge data from table script, and reading/writing nudge calibration settings. 2) Sound dialog: Stop playing a sound when you pick a differ...
- add nudge test and calibration table (by DJRobX) to tables directory
-- all property option dialogs are switched to modal dialogs
- fix selection issue for drop-down boxes (like kicker type)
- update kicker rotation KickerCup mesh
- add DecalMode to the Ball element to switch the decal/logo mode on a per ball basis
- change the flipper lengths in the two sample tables to 117.65, as requested by sliderpoint
- add T1 kicker mesh
- add gottlieb kicker mesh
- add williams kicker mesh
- fix material delete bug
- change context menu behavior of add/remove to collection: it's possible to add/remove one or multiple elements to other collections. If you selected multiple elements but they are not part of the same collection/or are not part of any collection the context menu is greyed out and the check marks tell you which collections were found for these selected elements.
- add option to rotate/scale element around mouse cursor or elements origin to the rotate/scale dialog
- add "In Use" column to the material manager dialog
-add updated default materials (provided by hauntfreaks)
- fix default settings for primitives
- vbs scripts should work again now
- Sound Manager: remove *BG* from the file name, instead toggle Table/Backglass in the output column
- removed as the vbs scripts were still broken
- multiple crashes fixed
- vbs script cleanups
- minor cleanups of vbs scripts
- add specialized variant for class of 1812 by ninuzzu/tom tower
- add sanity checks to avoid crashes when accessing empty light sequence
- clamp material/debugger dialog inputs to 0..1 where it's needed
- change wording for tablet text
- Change FrameCount to Debug Info in Keys, Nudge and DOF UI
- change touch control text
- fix touch support detection and the corresponding message
- fix group elements checkbox bug
-fix stupid bug in the new bumper scatter angle handling
- fix overflow in sorting by clicking the column header in list views
- scatter angle for bumper are now accessible from the UI and script
- fix camera fly around rotation issue if fly around mode is disabled
- add ball mesh used by VPX to the blank table including UV map
- fix UVs of the ball meshes
- fix initial item selection issue in Sound, Image, Collection Manager and in the Search/Select Element dialog
- display message if touch support available for screen
- workaround vanishing kicker holes at inclination ~0
- extend credits section
- Patch by nFozzy: Restore basic functionality of cvpmDropTarget.CreateEvents for drop targets with an animation time (e.g. VP10 and newer) (core.vbs update)
- new table extended by a stripped down version of the default table and an updated example table. (thanks BorgDog and Hauntfreaks)
- add new raw size column to the image manager
- change size of user table settings (4x AA, Post-proc AA and In-game AO) and it's combox type to dropdown fixing the strange auto switching back to disable.
- sort elements by name when opening search/select element dialog
- add 'Disable Lighting from below' functionality for Primitives
- update to NVAPI
- add another critical section to the property browser
- another null pointer access fixed
- add/remove a selected element to/from a collection via the context menu
- fixing potential null pointer access
- add additional thickness parameter to (transparent) materials, which interacts with the standard amount (and/or alpha channel of the image) and edge opacity to provide a more natural look
- add (optional) legacy/VP9-like keyboard nudging code, can be enabled in the 'Keys, Nudge and DOF' preferences dialog
- add internal/rudimentary GPU & table element profiling functionality (accessed as usual via the F11 statistics/debug display variants)
the normal statistics/debug display now features multiple modes, the first mode works as before,
the second features additional timings for each main rendering block (like timings for Ambient Occlusion, pure rendering of the table elements, playfield reflection, etc),
the third one shows separate timings for each table element type(s), which is only approximate though, as it can not render the table in exactly the same way
- extend 'Disable Lighting' functionality for HitTarget, Primitive and Wall from simple dis/enable to a blend value 0..1
- add surround sound options/configurations:
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 one to move the sounds into the cab like one was able before, but without needing a second sound card.
3) Surround, front is front - This is the best setting when using a dedicated card for the surround sound table sounds. It makes the front channels the front of the cab (closest to the player). This way if one uses 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 also uses the same soundcard, it will share the audio with these front channels.
5) 7.1 surround (aka 6ch audio) - If one wants to drive the 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 provide 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.
The 7.1 mode was tested and it works great, but we recommend using the #3 option for now(!) as it is the most backwards compatible when also using VP9.X and VP9.X/PhysMod5.
There's also a much revamped sound manager that lets you tweak the positions without touching the table script.
- add tweaked ball rolling/collision PlaySound calls to the default table, to use the new surround/front_rear_fade parameter
- extend all other PlaySound calls of the default table to use the respective elements X and Y position (on the table) for panning and front/rear fading
- extend some PlaySound calls with DOF/Controller.vbs commands
- fix some uninitialized dialog state
- see core scripts (header of core.vbs) for the respective changelog
- see CommandReference.txt for the changelog of all the scripting properties/interface changes
- DirectX 8 port for input handling (currently disabled)