forked from c-f-h/vpinball
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changelog.txt
409 lines (312 loc) · 25.6 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
VP 9.9.1 Changelog
------------------------
- DirectX 8 port for input handling (currently disabled)
- texture size limit/downscale now respects aspect ratio (currently disabled)
VP 9.9.0 Changelog
------------------------
- rendering engine has been ported to DirectX 9 and now takes much better advantage of 3D hardware
- Region Updates, Region Optimization, Alternate Render are not needed anymore due to the new graphics pipeline and have been removed
- true fullscreen setting has been removed due to incompatibility with VPinMAME. Instead, a windowed fullscreen option has been added to the list of video modes
- add options for wire ramps (define diameter and distance x/y of wires)
- add sphere mapping to wired ramps if an image was assigned to a wired ramp
- add CurrentAngle function to spinner
- add depth bias option to flasher, light, primitive and ramp to fine tune depth sorting
- enable NVIDIA Optimus cards by default
- new video setting: Force anisotropic texture filtering. This results in higher quality results, but can affect performance on lower end cards
- stereo 3D AA is now basically for free and can always be enabled if stereo 3D output is used (currently stereo 3D is limited to NVIDIA only though)
Note that the depth/parameters of stereo had to be changed. As a positive side effect, the two stereo parameters are the same for most tables now,
so there is now a global setting in the video preferences. These can still be overwritten per table though.
- FXAA now has two modes: Fast (similar to old setting) and Quality
- new FPS limiter field in Video Options:
0: disable frame limiting
1: enable vsync
If set to anything higher than the monitor refresh rate, the engine will limit the FPS to this rate (but of course without using real hardware vsync).
Adaptive vsync had to be disabled for now for compatibility with Windows XP.
- new field "Maximum prerendered frames" in Video Options:
Lowering this value will reduce input lag and sometimes also stutter, but may come at a performance cost.
- running as administrator is no longer required (except for tables which write high scores to system directories). UAC setting removed from executable.
- updated to latest FreeImage.dll (3.16.0)
- script editor updated to use latest scintilla (3.4.1)
- technical note: the minimum version to compile VP is now visual studio 2008 (incl. feature pack)
- take a look at https://github.com/c-f-h/vpinball/wiki/Table-Upgrade-Guide for some additional help with problematic VP 9.2.1 (or lower) tables (and more)
VP 9.2.1 Changelog
------------------------
- this is the final release to be based on DirectX 7
- add "To Collection" to the context menu to assign a selected element to a collection
- add moving of single selected collection in the collection manager
- add CurrentAngle() function to the gate object
- add "Is Toy" checkbox to disable collision handling on mesh primitives completely.
- add collision detection to mesh primitives together with hit threshold and hit event
- add Z offset to the backdrop options. With this settings you're able to zoom in/out the table without changing FOV/Inclination/Layback settings
- add Z scale option to the backdrop options. With this setting you're able to reduce/increase the overall depth of a table.
- add table dimension manager for an easy way to calculate real table dimensions into VP table units and vice versa
- add a ball throwing feature to VP. To use it check "Throw Balls in Player" in the debug window (ESC -> "Debug Window") and by left clicking and holding the left mouse
button you create a new ball and it throws the balls in that direction you move the mouse cursor when you release the left mouse button. If you click on a non
moving ball you can reuse that ball and no new calls will be created. A right click on a ball will remove that ball from the table.
- add touch support for tablets (windows 8 and upwards)
current mapping:
upper left - add credit
middle upper left - left magna save/2nd button
middle lower left - left flipper
lower left - start
upper right - quit (press for 2 seconds to exit VP completely)
middle upper right - right magna save/2nd button
middle lower right - right flipper
lower right - plunger
- add Alpha-Flasher element. Use this element to add (additive) alpha flashers instead of abusing the alpha ramp element. The flasher is a 'dynamic' element, that means it is not pre-rendered
and it'll be updated every frame.
Limitations:
If 'Display Image In Editor' option is selected and the flasher is rotated the image won't rotate due to a DX7 limitation.
If the flasher is not an additive alpha flasher you can colorize the image with 'Color' if you don't want that effect set the color to blank white (RGB 255,255,255).
- add height offset to bumper element
- add additional (optional) parameters to PlaySound to increase/decrease the frequency, apply all the settings to an already playing sample and choose if to restart this sample from the beginning or not
all parameters are now: PlaySound "name",loopcount,volume,pan,randompitch,pitch,useexisting,restart
pitch can be positive or negative and directly adds onto the standard sample frequency
useexisting is 0 or 1 (if no existing/playing copy of the sound is found, then a new one is created)
restart is 0 or 1 (only useful if useexisting is 1)
- per table setting of adaptive vsync (-1 = default, 0 = off, 1 = automatic detection, anything else: refresh rate in Hz)
- change per table settings for AA, FXAA and ball reflection (-1 takes the default from the video preferences, 0 forces off, 1 forces on)
- tweak key input code to save one frame (or more?) of lag
- change the old 'Physics Max.Looptime' setting to 'Physics Max. Loops'
it allows to specify the maximum number of iterations spent in the physics update.
by setting it f.e. to 1, the rendered frame updates will -always- match the physics updates, everything above 1 allows for multiple physics updates per frame
(2, 3 or 4 can be good values for this, as it slows down the physics temporarily if the FPS drop below 50, 33 or 25 in these cases).
- import/export of global physics options sets
- import/export of local/table physics options sets (that could then be reused globally of course and the other way round)
Note that for local/table export the first found flipper is used to export the flipper physics settings (and for import all flippers will be assigned with the same settings)
- add optional ball trails/motion blur (also adjustable per-table)
- add script option 'DisableLighting' for balls to disable lighting. This also allows to change the color of the ball via 'Color' directly
- add enabled flag to flippers
- separate/new texture maps for the lighting of lights (more details) and bumpers (brighter)
- fix problem with DMD/VPinMAME window being hidden behind VP window
- secondary/backglass sound output (by DJRobX)
if a sound effect contains 'bgout_' in the name or '* Backglass Output *' in its path then it is played via the secondary sound output (music always)
this can also be done with existing tables by using the new 'To BG Out' button in the sound manager
- script editor updated to use latest scintilla (3.3.9)
VP 9.2.0 Changelog
------------------------
- alpha ramps can now select to trigger region updates (also via script: Toggle via UpdateRegions or a single one via TriggerSingleUpdate) to avoid having to use the refresh-light trick
- primitives can now select to trigger region updates (also via script: Toggle via UpdateRegions or a single one via TriggerSingleUpdate) to avoid having to use the refresh-light trick
- add 'real' 3D mesh primitives, these can be loaded via .obj files (for example exported out of Blender)
- add lighting option for primitives
- add sphere mapping to 3D mesh primitives (useful to fake reflections)
- add static rendering feature to primitives: if you set the 'Static Rendering' option, the primitive will be pre-rendered and you can't change any parameters from within the script. This is
helpful if you want to use 3D meshes for posts or toys which won't be animated at all.
- add static rotation for primitives (ObjRotX, ObjRotY, ObjRotZ) to change the basic orientation of a primitive. The old rotation/translation settings animate the primitive.
all rotation/translation settings can be used out of the script.
- rotation/translation of primitives can be changed from within the script with the properties .RotX, .RotY, .RotZ, .TransX, .TransY, .TransZ, .ObjRotX, .ObjRotY, .ObjRotZ
or for backwards compatibility you can use .rotandtrans0-8
- add configurable lightsources: point, directional, spot; these share the same coordinate system as the table geometry (angle/rotation/scale independent! setting the direction of a directional light to 0,0,0 restores the old behavior though)
note that DX7 is still vertex lighting based, thus all lit objects MUST feature reasonable triangulation, like f.e. huge walls (the playfield itself is triangulated 100x100)
look at the built-in default table to get a feeling for the setup of these lightsources
- add exact lighting option to table (if you experience lighting problems with dynamic ramps, primitives or the ball, please enable this)
- add shadow orientation. In the table options under Lightsources you can change the shadow orientation by adding a factor to X and Y. Doing that you can change the projection of the shadow on the table.
This is needed if you use the extra light sources to create a more real lighting/shadowing.
- add flag to walls and gates to disable lighting and shadows (to assist in using fully artist driven lighting)
- add flag to light objects to disable the lighting calculations when the 'On Image' is set (so that behavior is the same as when only using a color)
- add lightmap for light objects: If option "'On Image' Is Lightmap" is checked you can define a lightmap for the on image. If the light is switched on the lightmap is rendered together with the off image.
- add flag for alpha ramps to optionally use additive blending (to cope with 2D-lighting-hacks like halos/flashers)
note that in order to implement fake GI/lighting or flashers via alpha ramps you should follow the following guidelines:
1) if multiple alpha ramps overlap, then the drawing order (see below) and the height level of these ramps have to match, so that the lowest ramp gets drawn first, etc (make sure to move same height alpha ramps to slightly different heights first!)
2) uncheck the 'normal 3D stereo' to not have each 3D user have to do this on his/her own (please do this only for lighting or flashers!)
3) to go for maximum performance disable visibility or the alpha flag for turned off lights/flashers via the script
- add modern plunger texture mapping support and correct coloring
- add per-table sound & music volume settings (0..100% scaling of the global VP settings)
- add per-table software FXAA setting (only works if also enabled in the video settings)
- add per-table alpha ramp accuracy
- add per-table region updates and region optimization (-1 takes the default from the video preferences, 0 forces off, 1 forces on)
- add layering of table elements
- add selection dialog where you can select one or more elements out of a list of all elements in the table
- add easy selection mode if you right-click on an element in the context menu you can select those elements which are stacked under the mouse cursor
- add drawing order (via 2 modes: Hit and Select), you can move elements up/down in a list to change the drawing order
Hit: If you click on an element all elements which are over/under that clicked element are shown in the list box
Select: If you select a bunch of elements, then the selected elements are shown in the list box
- add editor panning feature. In the editor hold ALT and move the mouse and the view will change in the direction the mouse was moved.
It just reacts on mouse movements if you don't move the mouse nothing will happen.
- add reflection option for balls (configurable per table). If you enable this option the ball is mirrored on the table. With reflection strength you can define how much the ball will reflect.
If the value is too high the mirror effect will look odd.
- add fake antialiasing(AA) as a global option in the video settings and a per table setting
- add 8 sets of global physics options to tweak some of the table and flipper settings that can then optionally override the table settings (when enabled in the table physics options and/or the flipper physics options)
this enables quick changes to flipper and physics settings for a whole bunch of tables (for example to tweak for less input lag or adapt the ball simulation/'speed')
the 8 different sets can be used f.e. to tweak for different hardware generations or the manufacturer
- add additional (optional) parameters to PlaySound to set the pan and/or randomize the pitch of the played sound effect: Instead of PlaySound "name",loopcount,volume one can now use PlaySound "name",loopcount,volume,pan,randompitch
pan ranges from -1.0 (left) over 0.0 (both) to 1.0 (right)
randompitch ranges from 0.0 (no randomization) to 1.0 (vary between half speed to double speed)
so f.e. PlaySound "FlipperUp",0,0.5,-1.0,1.0 would play the sound not looped (0), at half the volume (0.5), only on left speaker (-1.0), with varying pitch (1.0)
look at the built-in default table to get a feeling for the setup of these parameters
- script editor updated to use latest scintilla (3.3.6)
- add multi comment/uncomment feature to the script editor
- add function list to the script editor
VP 9.1.5 Changelog
------------------------
- add flag for ramps to optionally make them not influence the 3D stereo rendering (to cope with 2D-hacks like halos/flashers/GI)
- expose new 'Region Updates' in Video Options (disabling this can be faster on some graphicsboards, especially NVIDIA Optimus Laptops)
- expose new 'Region Optimization' in Video Options (disabling this can help issues with NVIDIA AA, enabling this can help performance and fixes issues with NVIDIA FXAA)
- optimize alpha ramps a bit
- enable some caching for DirectX functions to help performance
- fix more problems with primitive rendering
- correct issue with adaptive vsync
- fix some micro stuttering on multi-CPU systems
- add purely software/CPU-based FXAA workaround (please do -not- enable FXAA in the NVIDIA driver then if you need to use this!)
- cleanup some of the UI
- add correct UAC setting (no more 'Run as Administrator' necessary)
- add large address handling (no more '4GB patching' necessary)
- replace default ball/lamp images and some of the default table settings (mainly physics related)
- correct stylized table rendering in backdrop editor view
- fix command line parser (problems with running tables like playboy from hyperpin, etc)
- optimizations/small fixes
- updated to latest FreeImage.dll (3.15.4)
VP 9.1.4 Changelog
------------------------
- corrected primitive rendering - thanks Toxie!
- optimizations/fixes
- Added support for different sound device output
VP 9.1.3 Changelog
------------------------
- Added controller button support to key options for all controllers - Koadic!
- Added single wire ramp object type - thanks Rascal!
- Added modern plunger type - thanks Rascal!
- Added plunger color options
- Added support for 3D TV rendering - Toxie!!!
VP 9.1.2 Changelog
------------------------
Fixed bugs:
- Set as Defaults is ensured safe - loading a table will ignore the stored defaults to ensure the table is loaded how it was saved
- Deadzone slider is modified to reflect how deadzone worked in previous revisions
- SSE was going to be utilized, but magnets reacted sluggish, so reverted to 'fast' code without SSE again.
VP 9.1.1 Changelog
------------------------
Fixed bugs:
- Copy and Paste Decals
- Layback causing Graphic glitches with ball decals
- Radio buttons in Video Options Dialog
- Tabstops in Backlass Options
- unhandled exception with script errors
- Text Decals not showing
- Kickers and Triggers that are in the same position caused lockups
- transparency issue with 32bpp bmp Files
- bumpers and slingshots were disabled at start of the game when not visible
- Textures were cropped at MaxTexDim at very special conditions
- Alpha Ramps were not showing with Balls created from script.
- Textures near screen border were distorted on some tables
- Scale Dialog default field was checkbox - changed to scaleX-value
New features:
- Added slider for Alpharamps Accuracy. If Alpharamps are causing performance problems (and they will likely do!), try setting this slider to the left. Ramps are displayed with less surfaces then.
- New experimental feature: Ball stretching against table and monitor stretching. Three options: 1st: like before, 2nd: don't stretch ball, 3rd: don't stretch ball and take Pixel aspect ratio of monitor into consideration. Choose ( R) Monitors only if you have a rotated Windows desktop.
- Implemented right click 'Set as Default'. This options sets the current properties of an object as the new defaults for that object type.
- little optimizations
Important:
Tables made with 9.1.x may be incompatible with older versions due to the new features, but tables made with 9.0.x can be loaded and played in 9.1.x.
VP 9.0.10 Changelog
------------------------
Thanks to Scrooby's help, I think we have an appropriate deadzone interface now. It is a global setting for all tables and doesn't affect the keyboard for X and Y axis.
HD Render and Reorder has been moved to video options
You can now set maximum texture dimensions for lower powered graphic hardware without exporting images (BMPs will still need to be exported and resized if they are too big)
*Added Kicker.CreateSizedBall (float radius) - Returns Ball
*Added Video Option for Chipset graphics that cannot create big textures (only non BMPs supported). Redesigned dialog.
*Added Layback feature (Should we rename this feature? I don't know a better name. Does anybody have a better description?).
Layback is located under the field of view field on the backdrop options for the table.
Basically it appears to change the vertical orientation of the final rendered table. It is an alternate version of Field of View rendering, and will only be available from 9.10 and newer.
Field of View must be greater than 0 for Layback values to be used to render a table.
Items on table are now displayed in a non-kartesian world to give the viewer the imagination to stand more in front of the table instead of flying over it, when using FOV.
*Fixed Near-Plane Bug with inclination set to 0.
*Added Support for various Picture formats (*.jpg;*.jpeg;*.png;*.gif;*.ico;*.IFF;*.PCX;*.PICT;*.psd;*.tga;*.tiff;*.tif)
*Added Alpha Support for Ramps
More optimizations and testing by Toxie
Cupid added PNG support using FreeImage. VP 910 will require freeimage.dll to be located in the directory VP is being loaded from - perhaps someday we'll have PNG built into VP to eliminate this dependency
As required by the FreeImage Public License:
If it is not possible to put such notice in a particular Source Code file due to its structure, then you must include such notice in a location (such as a relevant directory file) where a user would be likely to look for such a notice. (such as this changelog file)
"The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://freeimage.sourceforge.net/freeimage-license.txt
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License."
No modifications were made to the freeimage.dll file, or internal freeimage source code, so that covers our use of the dll in a free capacity.
VP 9.0.8 Changelog
------------------------
Corrected keyboard handler for message boxes
implemented 10% dead zone to motion/slope/analog axis controls
VP 9.0.7 Changelog -- 9.0.6 skipped
------------------------
emreel lock not loaded after save (noah)
ball needs to be allowed outside playfield area (scapino)
removed remaining minimum black masks for ramps, reels, images, lights, kickers, and top and side surfaces
Corrected volume control
Plunger scatter velocity requires global table difficulty to be >0
Global table difficulty valid values from 0.0 to 1.0 - affects amount of scatter on walls as well as plunger variance
VP 9.0.5 Changelog
------------------------
December 27, 2009 - updated VP9 for your playing amusement. Approved by Nanotech Entertainment.
changelog
1) Finalized PinballWizard and ushock motion controls - should be accurate for X/Y/Z axis and no more changes should need to be made to it again
2) added Plunger.MotionDevice scriptable property - 0=nothing connected, 1=PinballWizard, 2=uShock Board
3) Plunger.Position now returns a value from 0-25. No scripted math calculations are required.
4) Export Sound now works for all supported sound formats
5) EMReels now have overlapping transparency compatible with Randy's vp8.1 implementation
6) added Plunger.Visible property - this is not scriptable, but allows the plunger to not be rendered
7) Corrected key mapping for Add Credit 2 - you can now remap that key
8) Key Preferences screen is now properly fixed for accepting new keycodes - before if you clicked a bunch of buttons without pressing a key it looked messy with ???? in each clicked button field, now it is neater.
9) corrected crash to desktop error when table name was deleted from properties window - this error had existed since the inception of visual pinball
10) Reordering of table elements added - this will increase compatibility with ATI cards. This changes the rendering order of all table objects.
DROPWALLS
BUMPERS
GATES
SPINNERS
FLIPPERS
LIGHTS
/RAMPS - needs more work
Textboxes are drawn first, EMReels are drawn second, Decals, Kickers, Acryllic Ramps are drawn last
11) Corrected issue with control points - left mouse button held down followed by right mouse button was not firing the left button release code routine, causing the undo buffer to skip all subsequent events.
12) Restored 16-bit display modes. Windowed mode uses your desktop color depth.
13) Translate now works for Textboxes and EmReels - select more than 1 item to get the option.
14) Updated compiler to VS Net 2008
VP 9.0.4 Changelog
------------------------
December 6, 2009 - updated VP9 for your playing amusement. Approved by Nanotech Entertainment.
changelog
1) worked some more on the pinball wizard plunger "Z" axis
2) corrected attached joystick/gamepad interference with the player - For those game controllers please use software like Joy2Key
3) removed ball blurs, as well as frame updates from spinners, gates, and moving objects will be smoother with increased framerate.
4) restored functionality of RGB 0/0/0 for invisible gates, spinners, flippers, and bumpers
5) Corrected unitialized/unvalidated info for loaded flipper and textbox settings.
6) Removed requirement for msvcr71.dll
VP 9.0.3 Changelog
------------------------
October 12 2009 - updated VP9 for your playing amusement. Approved by Nanotech Entertainment.
changelog
1) Edit Properties Pane status is now corrected. It has been broken since tech beta 5. It is persistent, meaning if it was visible last time vp was open, it will be visible next time you open vp. Edit/Options now works again.
2) VP8 Colored slingshots are now available. This is fully compatible with Randy's vp8 implementation
3) PlungerName.Position is now available to the script. This will provide a raw value of the mechanical plunger for Pinball Wizard and Cabinet users. Divide the returned value by .04 to get a number from 0-25. You can then base an emreel, wall animation, or other graphical representation on that number to custom animate the plunger object. You could also use the mechanical pinball wizard plunger as an entirely separate type of interface, with accurate pull strength - ie pool cues, balloon/rubber band/spring tension, I'm sure you can come up with more.
4) Nudge has been reversed. A right nudge - moving the machine to the left, moves the ball to the right. A left nudge, moving the machine to the right, pushes the ball to the left.
5) Ball decals work again.
VP 9.0.2 Changelog
------------------------
1) Fixed command line options
2) Fixed windowed mode
3) Fixed checkboxes
4) Corrected reversed pinball wizard plunger
5) fixed crash bug on exiting unsaved tables
6) corrected version display
7) remapped ball diagnostic key from "B" to "O"
VP 9.0.1 Changelog
------------------------
updated VP9 for your playing amusement. Approved by Nanotech Entertainment.
1) Fixed Crash on exit
2) enabled blinking lights
3) EMReels & Decals enabled by default
VP 9.0.0 Changelog
------------------------
December 2 2008 - VP9 for your playing amusement. Brought to you by Nanotech Entertainment.
FEATURES
* Optimized for vpm.
* LOTR runs close to full speed with emulated sound.
* Ball blurring/stutters/etc have been greatly reduced.
* This still has lag/issues with 26 balls in play on Johnny Mnemonic.
* Translate locked triggers.
* Plunger and all other objects can be locked in the editor.
* Sound/graphic exporter/table unlocker.
* Dual display span mode support so vp has full control over the backbox display as well as table.
* Table rotation - 360 degrees possible.
* Full physics options for slope, oblique correction, flipper settings, ball dampening, scatter angle, friction, gravity.
* Table scaling support X+Y.
* Table bottom height - set the bottom of the table lower than the playfield surface for realistic holes.
* Scriptable exit table to desktop method.
* Reduced engine crashes.
* Support for Pinball Wizard Input Controller.