Repo: vpinball/vpinball · Range: 2026-07-25 → 2026-09-23 · Generated: 2026-09-23 · 5276 artifacts · 213 commits without builds
windows-x64 — 230 builds · latest #5809 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | — | f9e811520 |
BGFX: Latest | Vincent Bousquet | — |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | zip |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | zip |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | zip |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | zip |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | zip |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | zip |
| 2026-09-23 | 5799 | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | zip |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | zip |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | zip |
| 2026-09-23 | — | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | — |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | zip |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | zip |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | zip |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | zip |
| 2026-09-22 | — | bf23ef4fa |
try to fix build | toxieainc | — |
| 2026-09-22 | — | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | — |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | zip |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | zip |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | zip |
| 2026-09-21 | — | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | — |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | zip |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | zip |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | zip |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | zip |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | zip |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | 5763 | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | zip |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | zip |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | zip |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | zip |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | zip |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | zip |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | zip |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | zip |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | zip |
| 2026-09-18 | 5723 | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | zip |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | zip |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | zip |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | zip |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | zip |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | zip |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | zip |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | zip |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | zip |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | zip |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | zip |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | zip |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | zip |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | zip |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | zip |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | zip |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | zip |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | zip |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | zip |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | — | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | — |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | zip |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | zip |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | zip |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | zip |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | zip |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | zip |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | zip |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | zip |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | zip |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | zip |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | zip |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | zip |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | zip |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | zip |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | zip |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | zip |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | zip |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | zip |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | zip |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | zip |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | zip |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | zip |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | zip |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | zip |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | zip |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | zip |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | zip |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | zip |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | zip |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | zip |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | zip |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | zip |
| 2026-09-07 | — | dbd0f279f |
update to 10.3.0 | toxieainc | — |
| 2026-09-07 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | zip |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | zip |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | zip |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | zip |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | zip |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | zip |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | zip |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | zip |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | zip |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | zip |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | zip |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | zip |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | zip |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | zip |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | zip |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | zip |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | zip |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | zip |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | zip |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | zip |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | zip |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | zip |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | zip |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | zip |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | zip |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | zip |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | zip |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | zip |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | zip |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | zip |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | zip |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | zip |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | zip |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | zip |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | zip |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | zip |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | zip |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | zip |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | zip |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | zip |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | zip |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | zip |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | zip |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | zip |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | zip |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | zip |
| 2026-08-29 | 5508 | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | zip |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | zip |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | zip |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | zip |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | zip |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | zip |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | zip |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | zip |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | zip |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | zip |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | zip |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | zip |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | zip |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | zip |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | zip |
| 2026-08-26 | 5483 | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | zip |
| 2026-08-26 | 5482 | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | zip |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | zip |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | zip |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | zip |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | zip |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | zip |
| 2026-08-26 | 5473 | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | zip |
| 2026-08-25 | 5472 | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | zip |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | zip |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | zip |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | zip |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | zip |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | zip |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | zip |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | zip |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | zip |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | zip |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | zip |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | zip |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | zip |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | zip |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | zip |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | zip |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | zip |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | zip |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | zip |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | zip |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | zip |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | zip |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | zip |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | zip |
| 2026-08-21 | 5440 | c82663f13 |
fix build | toxieainc | zip |
| 2026-08-21 | 5439 | ef7728565 |
fix flasher legacy ui overlap | toxieainc | zip |
| 2026-08-21 | 5438 | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | zip |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | zip |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | zip |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | zip |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | zip |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | zip |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | zip |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | zip |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | zip |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | zip |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | zip |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | zip |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | zip |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | zip |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | zip |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | zip |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | zip |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | zip |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | zip |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | zip |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | zip |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | zip |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | zip |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | zip |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | zip |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | zip |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | zip |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | zip |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | zip |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | zip |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | zip |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | zip |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | zip |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | zip |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | zip |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | zip |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | zip |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | zip |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | zip |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | zip |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | zip |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | zip |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | zip |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | zip |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | zip |
| 2026-07-29 | 5368 | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | zip |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | zip |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | zip |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | zip |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | zip |
windows-x86 — 231 builds · latest #5809 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | — | f9e811520 |
BGFX: Latest | Vincent Bousquet | — |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | zip |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | zip |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | zip |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | zip |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | zip |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | zip |
| 2026-09-23 | 5799 | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | zip |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | zip |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | zip |
| 2026-09-23 | — | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | — |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | zip |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | zip |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | zip |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | zip |
| 2026-09-22 | — | bf23ef4fa |
try to fix build | toxieainc | — |
| 2026-09-22 | — | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | — |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | zip |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | — | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | — |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | zip |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | zip |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | zip |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | zip |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | zip |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | zip |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | zip |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | 5763 | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | zip |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | zip |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | zip |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | zip |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | zip |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | zip |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | zip |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | zip |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | zip |
| 2026-09-18 | 5723 | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | zip |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | zip |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | zip |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | zip |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | zip |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | zip |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | zip |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | zip |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | zip |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | zip |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | zip |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | zip |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | zip |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | zip |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | zip |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | zip |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | zip |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | zip |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | zip |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | zip |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | zip |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | zip |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | zip |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | zip |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | zip |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | zip |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | zip |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | zip |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | zip |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | zip |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | zip |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | zip |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | zip |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | zip |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | zip |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | zip |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | zip |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | zip |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | zip |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | zip |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | zip |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | zip |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-10 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | zip |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | zip |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | zip |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | zip |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | zip |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | zip |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | zip |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | zip |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | zip |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | zip |
| 2026-09-07 | — | dbd0f279f |
update to 10.3.0 | toxieainc | — |
| 2026-09-07 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | zip |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | zip |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | zip |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | zip |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | zip |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | zip |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | zip |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | zip |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | zip |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | zip |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | zip |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | zip |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | zip |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | zip |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | zip |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | zip |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | zip |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | zip |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | zip |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | zip |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | zip |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | zip |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | zip |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | zip |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | zip |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | zip |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | zip |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | zip |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | zip |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | zip |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | zip |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | zip |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | zip |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | zip |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | zip |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | zip |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | zip |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | zip |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | zip |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | zip |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | zip |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | zip |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | zip |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | zip |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | zip |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | zip |
| 2026-08-29 | 5508 | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | zip |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | zip |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | zip |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | zip |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | zip |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | zip |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | zip |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | zip |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | zip |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | zip |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | zip |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | zip |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | zip |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | zip |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | zip |
| 2026-08-26 | 5483 | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | zip |
| 2026-08-26 | 5482 | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | zip |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | zip |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | zip |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | zip |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | zip |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | zip |
| 2026-08-26 | 5473 | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | zip |
| 2026-08-25 | 5472 | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | zip |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | zip |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | zip |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | zip |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | zip |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | zip |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | zip |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | zip |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | zip |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | zip |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | zip |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | zip |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | zip |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | zip |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | zip |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | zip |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | zip |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | zip |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | zip |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | zip |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | zip |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | zip |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | zip |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | zip |
| 2026-08-21 | 5440 | c82663f13 |
fix build | toxieainc | zip |
| 2026-08-21 | 5439 | ef7728565 |
fix flasher legacy ui overlap | toxieainc | zip |
| 2026-08-21 | 5438 | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | zip |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | zip |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | zip |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | zip |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | zip |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | zip |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | zip |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | zip |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | zip |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | zip |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | zip |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | zip |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | zip |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | zip |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | zip |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | zip |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | zip |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | zip |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | zip |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | zip |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | zip |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | zip |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | zip |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | zip |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | zip |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | zip |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | zip |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | zip |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | zip |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | zip |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | zip |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | zip |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | zip |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | zip |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | zip |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | zip |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | zip |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | zip |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | zip |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | zip |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | zip |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | zip |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | zip |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | zip |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | zip |
| 2026-07-29 | 5368 | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | zip |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | zip |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | zip |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | zip |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | zip |
windows-mingw-x64 — 227 builds · latest #5809 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | — | f9e811520 |
BGFX: Latest | Vincent Bousquet | — |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | zip |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | zip |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | zip |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | zip |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | zip |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | zip |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | zip |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | zip |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | zip |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | zip |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | zip |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | zip |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | zip |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | zip |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | zip |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | zip |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | zip |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | zip |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | zip |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | zip |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | zip |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | zip |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | zip |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | zip |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | 5763 | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | zip |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | zip |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | zip |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | zip |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | zip |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | zip |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | zip |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | zip |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | zip |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | zip |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | zip |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | zip |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | zip |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | zip |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | zip |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | zip |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | zip |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | zip |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | zip |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | zip |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | zip |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | zip |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | zip |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | zip |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | zip |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | zip |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | zip |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | zip |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | zip |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | zip |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | zip |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | zip |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | zip |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | zip |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | zip |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | zip |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | zip |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | zip |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | zip |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | zip |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | zip |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | zip |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | zip |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | zip |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | zip |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | zip |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | zip |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | zip |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | zip |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | zip |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | zip |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | zip |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | zip |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | zip |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | zip |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | zip |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | zip |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | zip |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | zip |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | zip |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | zip |
| 2026-09-07 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | zip |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | zip |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | zip |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | zip |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | zip |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | zip |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | zip |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | zip |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | zip |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | zip |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | zip |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | zip |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | zip |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | zip |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | zip |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | zip |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | zip |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | zip |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | zip |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | zip |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | zip |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | zip |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | zip |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | zip |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | zip |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | zip |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | zip |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | zip |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | zip |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | zip |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | zip |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | zip |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | zip |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | zip |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | zip |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | zip |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | zip |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | zip |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | zip |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | zip |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | zip |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | zip |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | zip |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | zip |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | zip |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | zip |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | zip |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | zip |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | zip |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | zip |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | zip |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | zip |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | zip |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | zip |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | zip |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | zip |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | zip |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | zip |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | zip |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | zip |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | zip |
| 2026-08-26 | — | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | — |
| 2026-08-26 | — | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | — |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | zip |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | zip |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | zip |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | zip |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | zip |
| 2026-08-26 | — | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | — |
| 2026-08-25 | — | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | — |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | zip |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | zip |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | zip |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | zip |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | zip |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | zip |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | zip |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | zip |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | zip |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | zip |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | zip |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | zip |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | zip |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | zip |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | zip |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | zip |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | zip |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | zip |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | zip |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | zip |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | zip |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | zip |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | zip |
| 2026-08-21 | 5440 | c82663f13 |
fix build | toxieainc | zip |
| 2026-08-21 | 5439 | ef7728565 |
fix flasher legacy ui overlap | toxieainc | zip |
| 2026-08-21 | 5438 | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | zip |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | zip |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | zip |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | zip |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | zip |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | zip |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | zip |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | zip |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | zip |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | zip |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | zip |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | zip |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | zip |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | zip |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | zip |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | zip |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | zip |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | zip |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | zip |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | zip |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | zip |
| 2026-08-05 | — | 364461b83 |
update SDL to latest | toxieainc | — |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | zip |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | zip |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | zip |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | zip |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | zip |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | zip |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | zip |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | zip |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | zip |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | zip |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | zip |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | zip |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | zip |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | zip |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | zip |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | zip |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | zip |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | zip |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | zip |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | zip |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | zip |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | zip |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | zip |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | zip |
| 2026-07-29 | — | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | — |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | zip |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | zip |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | zip |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | zip |
macos-arm64 — 230 builds · latest #5810 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | 5810 | f9e811520 |
BGFX: Latest | Vincent Bousquet | dmg |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | dmg |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | dmg |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | dmg |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | dmg |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | dmg |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | dmg |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | dmg |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | dmg |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | dmg |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | dmg |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | dmg |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | dmg |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | dmg |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | dmg |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | dmg |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | dmg |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | dmg |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | dmg |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | dmg |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | dmg |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | dmg |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | dmg |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | dmg |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | dmg |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | 5763 | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | dmg |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | dmg |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | dmg |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | dmg |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | dmg |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | dmg |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | dmg |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | dmg |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | dmg |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | dmg |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | dmg |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | dmg |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | dmg |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | dmg |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | dmg |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | dmg |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | dmg |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | dmg |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | dmg |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | dmg |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | dmg |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | dmg |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | dmg |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | dmg |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | dmg |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | dmg |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | dmg |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | dmg |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | dmg |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | dmg |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | dmg |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | dmg |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | dmg |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | dmg |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | dmg |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | dmg |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | dmg |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | dmg |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | dmg |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | dmg |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | dmg |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | dmg |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | dmg |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | dmg |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | dmg |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | dmg |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | dmg |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | dmg |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | dmg |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | dmg |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | dmg |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | dmg |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | dmg |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | dmg |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | dmg |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | dmg |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | dmg |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | dmg |
| 2026-09-06 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | dmg |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | dmg |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | dmg |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | dmg |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | dmg |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | dmg |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | dmg |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | dmg |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | dmg |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | dmg |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | dmg |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | dmg |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | dmg |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | dmg |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | dmg |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | dmg |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | dmg |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | dmg |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | dmg |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | dmg |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | dmg |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | dmg |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | dmg |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | dmg |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | dmg |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | dmg |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | dmg |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | dmg |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | dmg |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | dmg |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | dmg |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | dmg |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | dmg |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | dmg |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | dmg |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | dmg |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | dmg |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | dmg |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | dmg |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | dmg |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | dmg |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | dmg |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | dmg |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | dmg |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | dmg |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | dmg |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | dmg |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | dmg |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | dmg |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | dmg |
| 2026-08-29 | — | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | — |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | dmg |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | dmg |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | dmg |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | dmg |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | dmg |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | dmg |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | dmg |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | dmg |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | dmg |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | dmg |
| 2026-08-26 | 5483 | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | dmg |
| 2026-08-26 | 5482 | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | dmg |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | dmg |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | dmg |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | dmg |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | dmg |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | dmg |
| 2026-08-26 | 5473 | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | dmg |
| 2026-08-25 | 5472 | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | dmg |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | dmg |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | dmg |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | dmg |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | dmg |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | dmg |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | dmg |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | dmg |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | dmg |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | dmg |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | dmg |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | dmg |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | dmg |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | dmg |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | dmg |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | dmg |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | dmg |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | dmg |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | dmg |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | dmg |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | dmg |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | dmg |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | dmg |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | dmg |
| 2026-08-21 | — | c82663f13 |
fix build | toxieainc | — |
| 2026-08-21 | — | ef7728565 |
fix flasher legacy ui overlap | toxieainc | — |
| 2026-08-21 | — | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | — |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | dmg |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | dmg |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | dmg |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | dmg |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | dmg |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | dmg |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | dmg |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | dmg |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | dmg |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | dmg |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | dmg |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | dmg |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | dmg |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | dmg |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | dmg |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | dmg |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | dmg |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | dmg |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | dmg |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | dmg |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | dmg |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | dmg |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | dmg |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | dmg |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | dmg |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | dmg |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | dmg |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | dmg |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | dmg |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | dmg |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | dmg |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | dmg |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | dmg |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | dmg |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | dmg |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | dmg |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | dmg |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | dmg |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | dmg |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | dmg |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | dmg |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | dmg |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | dmg |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | dmg |
| 2026-07-29 | 5368 | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | dmg |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | dmg |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | dmg |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | dmg |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | dmg |
macos-x64 — 231 builds · latest #5810 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | 5810 | f9e811520 |
BGFX: Latest | Vincent Bousquet | dmg |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | dmg |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | dmg |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | dmg |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | dmg |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | dmg |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | dmg |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | dmg |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | dmg |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | dmg |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | dmg |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | dmg |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | dmg |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | dmg |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | dmg |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | dmg |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | dmg |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | dmg |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | dmg |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | dmg |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | dmg |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | dmg |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | dmg |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | dmg |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | dmg |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | 5763 | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | dmg |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | dmg |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | dmg |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | dmg |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | dmg |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | dmg |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | dmg |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | dmg |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | dmg |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | dmg |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | dmg |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | dmg |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | dmg |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | dmg |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | dmg |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | dmg |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | dmg |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | dmg |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | dmg |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | dmg |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | dmg |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | dmg |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | dmg |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | dmg |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | dmg |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | dmg |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | dmg |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | dmg |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | dmg |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | dmg |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | dmg |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | dmg |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | dmg |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | dmg |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | dmg |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | dmg |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | dmg |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | dmg |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | dmg |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | dmg |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | dmg |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | dmg |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | dmg |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | dmg |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | dmg |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | dmg |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | dmg |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | dmg |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | dmg |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | dmg |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | dmg |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | dmg |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | dmg |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | dmg |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | dmg |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | dmg |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | dmg |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | dmg |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | dmg |
| 2026-09-06 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | dmg |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | dmg |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | dmg |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | dmg |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | dmg |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | dmg |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | dmg |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | dmg |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | dmg |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | dmg |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | dmg |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | dmg |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | dmg |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | dmg |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | dmg |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | dmg |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | dmg |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | dmg |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | dmg |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | dmg |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | dmg |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | dmg |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | dmg |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | dmg |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | dmg |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | dmg |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | dmg |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | dmg |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | dmg |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | dmg |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | dmg |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | dmg |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | dmg |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | dmg |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | dmg |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | dmg |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | dmg |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | dmg |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | dmg |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | dmg |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | dmg |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | dmg |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | dmg |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | dmg |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | dmg |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | dmg |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | dmg |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | dmg |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | dmg |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | dmg |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | dmg |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | dmg |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | dmg |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | dmg |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | dmg |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | dmg |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | dmg |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | dmg |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | dmg |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | dmg |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | dmg |
| 2026-08-26 | 5483 | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | dmg |
| 2026-08-26 | 5482 | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | dmg |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | dmg |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | dmg |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | dmg |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | dmg |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | dmg |
| 2026-08-26 | 5473 | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | dmg |
| 2026-08-25 | 5472 | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | dmg |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | dmg |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | dmg |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | dmg |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | dmg |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | dmg |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | dmg |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | dmg |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | dmg |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | dmg |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | dmg |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | dmg |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | dmg |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | dmg |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | dmg |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | dmg |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | dmg |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | dmg |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | dmg |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | dmg |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | dmg |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | dmg |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | dmg |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | dmg |
| 2026-08-21 | — | c82663f13 |
fix build | toxieainc | — |
| 2026-08-21 | — | ef7728565 |
fix flasher legacy ui overlap | toxieainc | — |
| 2026-08-21 | — | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | — |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | dmg |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | dmg |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | dmg |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | dmg |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | dmg |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | dmg |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | dmg |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | dmg |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | dmg |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | dmg |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | dmg |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | dmg |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | dmg |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | dmg |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | dmg |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | dmg |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | dmg |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | dmg |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | dmg |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | dmg |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | dmg |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | dmg |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | dmg |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | dmg |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | dmg |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | dmg |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | dmg |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | dmg |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | dmg |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | dmg |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | dmg |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | dmg |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | dmg |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | dmg |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | dmg |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | dmg |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | dmg |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | dmg |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | dmg |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | dmg |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | dmg |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | dmg |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | dmg |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | dmg |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | dmg |
| 2026-07-29 | 5368 | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | dmg |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | dmg |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | dmg |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | dmg |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | dmg |
linux-x64 — 224 builds · latest #5809 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | — | f9e811520 |
BGFX: Latest | Vincent Bousquet | — |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | tar.gz |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | tar.gz |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | tar.gz |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | tar.gz |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | tar.gz |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | tar.gz |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | tar.gz |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | tar.gz |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | tar.gz |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | tar.gz |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | tar.gz |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | tar.gz |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | tar.gz |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | — | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | — |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | tar.gz |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | tar.gz |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | tar.gz |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | tar.gz |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | tar.gz |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | tar.gz |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | tar.gz |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | tar.gz |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | tar.gz |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | tar.gz |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | tar.gz |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | tar.gz |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | tar.gz |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | tar.gz |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | tar.gz |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | tar.gz |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | tar.gz |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | tar.gz |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | tar.gz |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | tar.gz |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | tar.gz |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | tar.gz |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | tar.gz |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | tar.gz |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | tar.gz |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | tar.gz |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | tar.gz |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | tar.gz |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | tar.gz |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | tar.gz |
| 2026-09-06 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | tar.gz |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | tar.gz |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | tar.gz |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | tar.gz |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | tar.gz |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | tar.gz |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | tar.gz |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | tar.gz |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | tar.gz |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | tar.gz |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | tar.gz |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | tar.gz |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | tar.gz |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | tar.gz |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | tar.gz |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | tar.gz |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | tar.gz |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | tar.gz |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | tar.gz |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | tar.gz |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | tar.gz |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | tar.gz |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | tar.gz |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | tar.gz |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | tar.gz |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | tar.gz |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | tar.gz |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | tar.gz |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | tar.gz |
| 2026-08-26 | — | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | — |
| 2026-08-26 | — | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | — |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | tar.gz |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | tar.gz |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | tar.gz |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | tar.gz |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | tar.gz |
| 2026-08-26 | — | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | — |
| 2026-08-25 | — | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | — |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | tar.gz |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | tar.gz |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | tar.gz |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | tar.gz |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | tar.gz |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | tar.gz |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | tar.gz |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | tar.gz |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | tar.gz |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | tar.gz |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | tar.gz |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | tar.gz |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | tar.gz |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | tar.gz |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | tar.gz |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | tar.gz |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | tar.gz |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | tar.gz |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | tar.gz |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | tar.gz |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | tar.gz |
| 2026-08-21 | — | c82663f13 |
fix build | toxieainc | — |
| 2026-08-21 | — | ef7728565 |
fix flasher legacy ui overlap | toxieainc | — |
| 2026-08-21 | — | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | — |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | tar.gz |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | tar.gz |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | tar.gz |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | tar.gz |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | tar.gz |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | tar.gz |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | tar.gz |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | tar.gz |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | tar.gz |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | tar.gz |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | tar.gz |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | tar.gz |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | tar.gz |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | tar.gz |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | tar.gz |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | tar.gz |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | tar.gz |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | tar.gz |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | tar.gz |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | tar.gz |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | tar.gz |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | tar.gz |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | tar.gz |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | tar.gz |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | tar.gz |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | tar.gz |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | tar.gz |
| 2026-07-29 | — | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | — |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | tar.gz |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | tar.gz |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | tar.gz |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | tar.gz |
rpi-linux-aarch64 — 224 builds · latest #5810 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | 5810 | f9e811520 |
BGFX: Latest | Vincent Bousquet | tar.gz |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | tar.gz |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | tar.gz |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | tar.gz |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | tar.gz |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | tar.gz |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | tar.gz |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | tar.gz |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | tar.gz |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | tar.gz |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | tar.gz |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | tar.gz |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | tar.gz |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | tar.gz |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | — | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | — |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | tar.gz |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | tar.gz |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | tar.gz |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | tar.gz |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | tar.gz |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | tar.gz |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | tar.gz |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | tar.gz |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | tar.gz |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | tar.gz |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | tar.gz |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | tar.gz |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | tar.gz |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | tar.gz |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | tar.gz |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | tar.gz |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | tar.gz |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | tar.gz |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | tar.gz |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | tar.gz |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | tar.gz |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | tar.gz |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | tar.gz |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | tar.gz |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | tar.gz |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | tar.gz |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | tar.gz |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | tar.gz |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | tar.gz |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | tar.gz |
| 2026-09-06 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | tar.gz |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | tar.gz |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | tar.gz |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | tar.gz |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | tar.gz |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | tar.gz |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | tar.gz |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | tar.gz |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | tar.gz |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | tar.gz |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | tar.gz |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | tar.gz |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | tar.gz |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | tar.gz |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | tar.gz |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | tar.gz |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | tar.gz |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | tar.gz |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | tar.gz |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | tar.gz |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | tar.gz |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | tar.gz |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | tar.gz |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | tar.gz |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | tar.gz |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | tar.gz |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | tar.gz |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | tar.gz |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | tar.gz |
| 2026-08-26 | — | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | — |
| 2026-08-26 | — | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | — |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | tar.gz |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | tar.gz |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | tar.gz |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | tar.gz |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | tar.gz |
| 2026-08-26 | — | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | — |
| 2026-08-25 | — | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | — |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | tar.gz |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | tar.gz |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | tar.gz |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | tar.gz |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | tar.gz |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | tar.gz |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | tar.gz |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | tar.gz |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | tar.gz |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | tar.gz |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | tar.gz |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | tar.gz |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | tar.gz |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | tar.gz |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | tar.gz |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | tar.gz |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | tar.gz |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | tar.gz |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | tar.gz |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | tar.gz |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | tar.gz |
| 2026-08-21 | — | c82663f13 |
fix build | toxieainc | — |
| 2026-08-21 | — | ef7728565 |
fix flasher legacy ui overlap | toxieainc | — |
| 2026-08-21 | — | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | — |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | tar.gz |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | tar.gz |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | tar.gz |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | tar.gz |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | tar.gz |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | tar.gz |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | tar.gz |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | tar.gz |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | tar.gz |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | tar.gz |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | tar.gz |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | tar.gz |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | tar.gz |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | tar.gz |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | tar.gz |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | tar.gz |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | tar.gz |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | tar.gz |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | tar.gz |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | tar.gz |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | tar.gz |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | tar.gz |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | tar.gz |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | tar.gz |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | tar.gz |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | tar.gz |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | tar.gz |
| 2026-07-29 | — | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | — |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | tar.gz |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | tar.gz |
| 2026-07-27 | — | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | — |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | tar.gz |
rk3588-linux-aarch64 — 225 builds · latest #5810 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | 5810 | f9e811520 |
BGFX: Latest | Vincent Bousquet | tar.gz |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | tar.gz |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | tar.gz |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | tar.gz |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | tar.gz |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | tar.gz |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | tar.gz |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | tar.gz |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | tar.gz |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | tar.gz |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | tar.gz |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | tar.gz |
| 2026-09-22 | 5782 | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | tar.gz |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | tar.gz |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | tar.gz |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | tar.gz |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | tar.gz |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | tar.gz |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | — | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | — |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | tar.gz |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | tar.gz |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | tar.gz |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | tar.gz |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | tar.gz |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | tar.gz |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | tar.gz |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | tar.gz |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | tar.gz |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | 32a5cdae7 |
ISelect cleanup: make subpart explicit instead of less meaningful SelectLevel | Vincent Bousquet | — |
| 2026-09-16 | — | 70558a4ce |
ISelect remove redundant GetPTable | Vincent Bousquet | — |
| 2026-09-16 | 5677 | 3c64e02f7 |
ISelect: cleanup discrepancies in MoveOffset/Translate/PutCenter | Vincent Bousquet | tar.gz |
| 2026-09-16 | — | b6cb6229e |
Remove move/translate/rotate from PinTable | Vincent Bousquet | — |
| 2026-09-16 | — | 78d62a087 |
Move Undo handling out of ISelect move/rotate/scale methods | Vincent Bousquet | — |
| 2026-09-16 | 5674 | 8a7d545c9 |
standalone: close the player on SIGINT instead of exiting from the signal handler | Francis De Brabandere | tar.gz |
| 2026-09-15 | 5673 | 7edfdf299 |
WinUI: fix modeless dialog in docked pane destruction from keyboard shortcuts | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5672 | 5273562a7 |
Enable LiveEditor in release build with a disclaimer | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5671 | f18230829 |
Physics: clean up | Vincent Bousquet | tar.gz |
| 2026-09-15 | — | 9567938ad |
Propose VPX or Blender units on import/export | Vincent Bousquet | — |
| 2026-09-15 | 5669 | 861e5828e |
B2SLegacy: do not advertise PinMAME rom | Vincent Bousquet | tar.gz |
| 2026-09-15 | 5668 | 36c5e0c16 |
misc: clean up memory leaks found with xcode profiler | Jason Millard | tar.gz |
| 2026-09-14 | 5667 | 875df77c6 |
Support legacy keyStagedFlipperXX script assignment to disable core processing | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5666 | 5fb9b79aa |
Move ExportTableMesh UI code from PinTable to WinEditor | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5665 | 512ea63e7 |
Remove UI handling of primitive class (moved to PrimitiveVisualsProperty) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 90fae756c |
VNI/Serum: unify FilterDmdSource code | Vincent Bousquet | — |
| 2026-09-14 | 5663 | 8be4528ac |
Serum plugin: new serum version, settings, scene triggers, plugin dir for embedding hosts (#3929) | Markus Kalkbrenner | tar.gz |
| 2026-09-14 | — | 86aa0a3e5 |
Fix windows msvc external build isolation | Sean Fausett | — |
| 2026-09-14 | 5661 | 0727f1d6a |
Move UILock & UIVisible from ISelect into IEditable | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | ea8014e31 |
Refactor Collection tostore IEditable, Remove IDispatch from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5659 | 13b13e301 |
Serum: remove useless leftover | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5658 | 2a724f591 |
WinUI: move SelectState from ISelect to IWinUIPart | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 825569f68 |
Move SetDefaultPhysics from ISelect to IEditable | Vincent Bousquet | — |
| 2026-09-14 | — | 02dc79eb6 |
Remove AddPoint from ISelect | Vincent Bousquet | — |
| 2026-09-14 | — | 1821dad5c |
Remove Load/Export Mesh from ISelect | Vincent Bousquet | — |
| 2026-09-14 | 5654 | 89f5ea6bf |
PinMAME: Latest (fix NGG wheel) | Vincent Bousquet | tar.gz |
| 2026-09-14 | — | 6a1242b72 |
PinMAME: latest (Capcom PWM fix) | Vincent Bousquet | — |
| 2026-09-14 | 5652 | ea4190249 |
Serum: fix AlphaDMD colorization, handle missing VPX API | Vincent Bousquet | tar.gz |
| 2026-09-14 | 5651 | 9f3bbfe2a |
Rumble: match flipper button strength default to its setting | Jason Millard | tar.gz |
| 2026-09-14 | — | eb013cbf9 |
XR: stop haptic feedback when rumble output drops to zero | Jason Millard | — |
| 2026-09-14 | — | 8010a92f7 |
Rumble: apply the gamepad motor model to SDL joysticks only | Jason Millard | — |
| 2026-09-14 | — | a82089e32 |
Add rumble on ball/ball collision, scaled by the impact speed | kara2010 | — |
| 2026-09-14 | — | 318d42099 |
Add rumble on cabinet nudge, scaled by the cabinet acceleration | kara2010 | — |
| 2026-09-14 | — | ddb921f2d |
Plunger rumble: the strike when the tip hits the ball, also on the lane end | kara2010 | — |
| 2026-09-14 | — | 1ad3e9ac4 |
Rumble: bumper and slingshot levels that are felt, flipper solenoid thump | kara2010 | — |
| 2026-09-14 | — | ce881dd25 |
Flipper contact rumble: own trigger instead of the script event gate | kara2010 | — |
| 2026-09-14 | — | bc764afaf |
Rumble: make the generic pulses adjustable, fix the plunger sign | kara2010 | — |
| 2026-09-14 | — | 74cbe52d3 |
Rumble: mix overlapping pulses per motor, drive the motors as measured | kara2010 | — |
| 2026-09-14 | 5641 | 7ba64b00c |
cmake: add support for only building plugins, and new PLUGINS_DIR (#3954) | Jason Millard | tar.gz |
| 2026-09-14 | 5640 | a0ae9548a |
Move log settings to new global section | Sean Fausett | tar.gz |
| 2026-09-14 | — | 9e5d7ccb2 |
Honor ResetLogOnPlay setting for all builds | Sean Fausett | — |
| 2026-09-13 | 5638 | 9fbb94319 |
WinUI: move editor coordinate handling to PinTableWnd, only use VPX coordinates in parts | Vincent Bousquet | tar.gz |
| 2026-09-13 | 5637 | 71664a635 |
Minor cleanups | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 5ce83ce58 |
TextBox: cleanups | Vincent Bousquet | — |
| 2026-09-13 | — | 35fcc3f4e |
Material: fix hash bit pushed outside of byte | Vincent Bousquet | — |
| 2026-09-13 | — | 33230411b |
Trigger: fix Rotate/Scale/Translate/Flip | Vincent Bousquet | — |
| 2026-09-13 | — | 6f47bc41f |
HitTarget: fix init ignoring interactive/default mode | Vincent Bousquet | — |
| 2026-09-13 | — | f771c1a3d |
Kicker: fix LiveUI rendering | Vincent Bousquet | — |
| 2026-09-13 | — | e4f2006e7 |
DispReel: fix swapped default values | Vincent Bousquet | — |
| 2026-09-13 | — | c51278f70 |
Gate: Fix invalid deref of m_phitgate | Vincent Bousquet | — |
| 2026-09-13 | — | 5eefed323 |
WinUI: remove no more needed dependencies | Vincent Bousquet | — |
| 2026-09-13 | — | 9d96501d5 |
WinUI: fix file progress feedback invalid/unclean instantiation | Vincent Bousquet | — |
| 2026-09-13 | — | ac3d438bf |
WinUI: move UseTool from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | f88d27969 |
Cleanup: remove ExportImage from PinTable | Vincent Bousquet | — |
| 2026-09-13 | — | 779930a0b |
WinUI: move UI action AssignSelectionToPartGroup to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 0c4f598ce |
WinUI: move material editor functions to MaterialDialog | Vincent Bousquet | — |
| 2026-09-13 | — | 231ec3a92 |
WinUI: move RefreshProperties from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-13 | — | 1d5b9b5fa |
WinUI: move editor selection list to editor instead of PinTable class | Vincent Bousquet | — |
| 2026-09-13 | — | 39e6c8370 |
WinUI: little PinTable cleanup (ambiguous name) | Vincent Bousquet | — |
| 2026-09-13 | — | 2f4e09b80 |
WinUI: move the TableWinUIPart out of other WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 469808aa1 |
WinUI: move m_dragging/m_markedForUndo from ISelect to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | cdbcb2ad4 |
WinUI: move to statefull WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | 5617 | 4b4ff3ef9 |
deps: bump SDL to 3.4.16, SDL_image to 3.4.6 | Jason Millard | tar.gz |
| 2026-09-13 | 5616 | e21d61dde |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-13 | 5615 | 044f00885 |
WinUI: remove IWinUIPart from standalone builds | Vincent Bousquet | tar.gz |
| 2026-09-13 | — | 1cb534d95 |
WinUI: move m_menuId from parts to WinUIPart (into a getter) | Vincent Bousquet | — |
| 2026-09-13 | — | 79cf131a0 |
WinUI: move SetObjectPos from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | b9af9c05b |
WinUI: move OnLButtonDown/OnLButtonUp from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | d9bdb9ce9 |
WinUI: move DoCommand from parts to WinUIPart | Vincent Bousquet | — |
| 2026-09-13 | — | 944633aa7 |
WinUI: Move EditMenu from parts to WinUIParts | Vincent Bousquet | — |
| 2026-09-13 | — | 050ea5288 |
Trigger: cleanup mesh data generation | Vincent Bousquet | — |
| 2026-09-13 | — | 3a449e6e5 |
Remove friend class between parts & WinUI | Vincent Bousquet | — |
| 2026-09-12 | 5607 | 93d93d965 |
Make material name case insensitive like other assets and how player handles them | Vincent Bousquet | tar.gz |
| 2026-09-12 | 5606 | 2468027cc |
Fix leaked PinFont when font import fails | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 82a30282b |
WinUI: move font WinUI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5604 | 9112b0edc |
Import sound default to table like in previous versions | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | e594d59c9 |
WinUI: move more editor functions from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-12 | 5602 | c34394a98 |
Remove WinUI ListCustomInfo/AddListItem from PinTable | Vincent Bousquet | tar.gz |
| 2026-09-12 | — | 6b8271824 |
WinUI: move rendering setup in WinUI parts instead of parts | Vincent Bousquet | — |
| 2026-09-12 | — | 7b684c4f3 |
WinUI: Add a WinUI part registry and migrate WinUI rendering to them | Vincent Bousquet | — |
| 2026-09-11 | 5599 | bf0ea793f |
update to latest PinMAME | toxieainc | tar.gz |
| 2026-09-11 | 5598 | 5c4635a7a |
update all imgui* libs | toxieainc | tar.gz |
| 2026-09-12 | 5597 | eb77b6826 |
small optimization for script editing | toxieainc | tar.gz |
| 2026-09-11 | 5596 | bfc115401 |
fix OOB for m_segDisplaySDF; do FBGamma via HW tex unit for NuanceCRT; support modulatevsadd for DMD & Display mode for the flasher, too | toxieainc | tar.gz |
| 2026-09-11 | 5595 | 64450ed81 |
Fix Screen Player pos set as contextual (always saved) | Vincent Bousquet | tar.gz |
| 2026-09-11 | — | 90734ed05 |
AlphaDMD: properly advertise display override | Vincent Bousquet | — |
| 2026-09-09 | 5593 | 56b542515 |
quest: fix precision forced to low on vulkan. fix default input, and passthrough | Jason Millard | tar.gz |
| 2026-09-09 | 5592 | ff2501cfc |
Detect duplicate sound and image names case insensitively | Francis De Brabandere | tar.gz |
| 2026-09-09 | 5591 | c7982873c |
Fix (again) window focus management | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5590 | eae22283a |
WinUI: Fix tabbing inside property pane | Vincent Bousquet | tar.gz |
| 2026-09-09 | 5589 | 0bc9838ed |
Fix selection of table in multiselect | Vincent Bousquet | tar.gz |
| 2026-09-08 | 5588 | 8e769d1fb |
generalize FTZ/DAZ mode, so that it runs for all operations again, like in previous VPX versions. done by inserting it on all thread creations. | toxieainc | tar.gz |
| 2026-09-07 | 5587 | 10c189d76 |
Windows: fix spinner crash on mesh export | Sean Fausett | tar.gz |
| 2026-09-07 | 5586 | 3ac1112ae |
windows-mingw: resolve symbols for crash reports via libbacktrace | Sean Fausett | tar.gz |
| 2026-09-07 | 5585 | 6cae2becf |
Windows: fix crash report symbol resolution | Sean Fausett | tar.gz |
| 2026-09-07 | 5584 | 6f780f407 |
fix compile error | toxieainc | tar.gz |
| 2026-09-07 | 5583 | dbd0f279f |
update to 10.3.0 | toxieainc | tar.gz |
| 2026-09-06 | 5582 | d922d6dab |
Windows: fix empty crash report call stack | Sean Fausett | tar.gz |
| 2026-09-06 | 5581 | 7daab09e8 |
ci: remove windows debug builds now that pdb is included | Jason Millard | tar.gz |
| 2026-09-06 | 5580 | 47fabf7bd |
build: emit debug symbols for windows release builds (#3913) | Sean Fausett | tar.gz |
| 2026-09-06 | 5579 | a949748fd |
libvpinball: refactor haptics with new rumble support | Jason Millard | tar.gz |
| 2026-09-06 | 5578 | 6ce6e7f62 |
add sentences on bloated LLM communications | toxieainc | tar.gz |
| 2026-09-06 | 5577 | 8ddf00417 |
deps: bump libwinevbs to latest (simplified wine patch) | Jason Millard | tar.gz |
| 2026-09-05 | 5576 | 3dc4bec51 |
deps: bump libwinevbs to 985448a8987ae65397559710e2607a989478f596 (11.17) | Jason Millard | tar.gz |
| 2026-09-05 | 5575 | 595d1fd5e |
Plugin: add version marker / number | Vincent Bousquet | tar.gz |
| 2026-09-05 | — | d2c5887a2 |
PinMAME: Latest (SLEIC IO Moon & versioned msg) | Vincent Bousquet | — |
| 2026-09-04 | 5573 | c321a1812 |
Fix saving sidecar script adding additional CR chars | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 3848a9669 |
WinUI: Fix incorrect Scintilla string adding '\0' | Vincent Bousquet | — |
| 2026-09-04 | 5571 | 613cc0e47 |
Fix invalid default DMD selection when there are other displays | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5570 | 0f14599ef |
LiveEditor: hide backdrop items except in camera preview mode | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | 170277460 |
LiveEditor: fix invalid projection & shading in wireframe mode | Vincent Bousquet | — |
| 2026-09-04 | — | 3cd09034b |
Remove OpenVR license as we do not use it anymore | Vincent Bousquet | — |
| 2026-09-04 | 5567 | d363edb18 |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5566 | eea9c3ccf |
Inspector: allow to toggle switch state | Vincent Bousquet | tar.gz |
| 2026-09-04 | 5565 | 622eae28e |
B2S: fix invalid lamp state type cast | Vincent Bousquet | tar.gz |
| 2026-09-04 | — | c8569089d |
B2S: fix incorrect state access threading | Vincent Bousquet | — |
| 2026-09-04 | — | 62fde6c56 |
B2S Legacy: follow the common file layout to search for folder name matching resource | Vincent Bousquet | — |
| 2026-09-04 | — | a5762df3f |
Inspector: cleanup controller enumeration and state/display access | Vincent Bousquet | — |
| 2026-09-04 | — | 6b1de3811 |
FlexDMD: fix invalid memory access | Vincent Bousquet | — |
| 2026-09-04 | — | b2f69f2fd |
Fix dmd update validation when color mode changes | Vincent Bousquet | — |
| 2026-09-03 | 5559 | 3f8b8a90b |
Add rumble on flipper/ball contact, scaled by impact speed | kara2010 | tar.gz |
| 2026-09-03 | 5558 | d88020b54 |
Fix threading access of VPX's DMDs exposed through Pinball Plugin API | Vincent Bousquet | tar.gz |
| 2026-09-03 | 5557 | 258e9f9da |
B2S: cleanup segment source listener | Vincent Bousquet | tar.gz |
| 2026-09-03 | — | b4845923a |
BGFX: latest | Vincent Bousquet | — |
| 2026-09-03 | 5555 | dbcd68e7e |
docs: add pinmame cfg directory | dekay | tar.gz |
| 2026-09-02 | 5554 | ff8ceb44b |
Fix target & trigger not rendering after loading | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5553 | 6e84868da |
PinMAME: latest | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5552 | 866885417 |
Log script errors reported by plugins instead of dropping them | Francis De Brabandere | tar.gz |
| 2026-09-02 | 5551 | fea593ed9 |
BGFX: promote Direct3D12 as a fully supported render backend | Vincent Bousquet | tar.gz |
| 2026-09-02 | — | d0109a6d9 |
BGFX: Fix resource leak | Vincent Bousquet | — |
| 2026-09-02 | 5549 | a9dae848d |
PinMAME: latest (misc fixes) | Vincent Bousquet | tar.gz |
| 2026-09-02 | 5548 | 24af13723 |
leftovers | toxieainc | tar.gz |
| 2026-09-01 | 5547 | 5bd6fe54c |
Controller plugin: use call contexts for function hooks | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5546 | d1b487dc1 |
create a 8x8 magenta checker tex as fallback for most failed texture loads/allocs (let other cases fail/crash); | toxieainc | tar.gz |
| 2026-09-01 | 5545 | fb2a96a61 |
Fix texture cache key collisions | Sean Fausett | tar.gz |
| 2026-09-01 | 5544 | 0c1cbffd4 |
have 2 samplers and dirty flags (sRGB/gamma'ed and linear) | toxieainc | tar.gz |
| 2026-09-01 | 5543 | e4e2d7c5f |
PinMAME: latest (handle audiostreaming) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5542 | 18e19f5dd |
PinMAME: latest (fix part lifecycle) | Vincent Bousquet | tar.gz |
| 2026-09-01 | 5541 | 2f9dc4961 |
deps: bump libdof to afc2be6e79644a78670be2f4de3e83daa0baaa5f | Jason Millard | tar.gz |
| 2026-09-01 | — | c6fbff3d6 |
serum: fix colorizer freeze, source selection and rotation | Jason Millard | — |
| 2026-08-31 | 5539 | 4e3a6f82d |
Serum: improve source selection to any controller exposing a supported game id | Vincent Bousquet | tar.gz |
| 2026-08-31 | 5538 | 7130c1d5b |
Plugin: subscribe CtrlItemConsumer state sources in pinmame and inspector | Sean Fausett | tar.gz |
| 2026-08-31 | 5537 | ab43b4bb6 |
Apply script overrides to plugin requested script execution | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | cd9ace25f |
Plugin: cleanup CtrlConsumer lifecycle | Vincent Bousquet | — |
| 2026-08-31 | 5535 | 870fd3aca |
update to latest | toxieainc | tar.gz |
| 2026-08-31 | 5534 | 4210cd436 |
Serum: fix use-after-destroy in colorizer teardown | Sean Fausett | tar.gz |
| 2026-08-31 | — | 9f0798a4d |
VNI: fix use-after-destroy in colorizer teardown | Sean Fausett | — |
| 2026-08-31 | 5532 | 8fa6b641b |
Clean up destructor comments in ResURIResolver | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 98c424c29 |
Fix use-after-destroy in ResURIResolver destructor | Francis De Brabandere | — |
| 2026-08-31 | 5530 | 88dff1d2e |
Load on a single thread when file is on a network | Vincent Bousquet | tar.gz |
| 2026-08-31 | — | 919993c10 |
POLE: stop re-reading the same block for every mini-block | Sean Fausett | — |
| 2026-08-31 | — | d88952fad |
POLE: coalesce block reads and add a per-stream readahead window | Sean Fausett | — |
| 2026-08-31 | — | 34fa37449 |
ResURI: Default to display when no id is given | Vincent Bousquet | — |
| 2026-08-30 | 5526 | 193928030 |
B2S: fix DMDOverlay lock, unify new & legacy code | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | 0195d55d0 |
VNI: move VNI/PAL loading to colorizer thread to limit stutter | Vincent Bousquet | — |
| 2026-08-30 | 5524 | 740b87c17 |
PinMAME & B2S: fiix wrong signature | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5523 | c12bb38f5 |
Use POLE library to read on all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | a8a3cf570 |
POLE: add read mutex synchronization | Vincent Bousquet | — |
| 2026-08-30 | — | eb1081571 |
POLE: add Storage::streamOffset | Sean Fausett | — |
| 2026-08-30 | — | 690a69937 |
VPX Plugin API: fix incorrect threading validation | Vincent Bousquet | — |
| 2026-08-30 | 5519 | b6d17e142 |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | tar.gz |
| 2026-08-30 | — | 08ef18b61 |
have 2 regions for oversampling the CRT to avoid too much overhead | toxieainc | — |
| 2026-08-30 | 5517 | f30d52536 |
Unify VPReg.ini use for all platforms | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5516 | 1075904b4 |
VPX Plugin API: allow plugin to run custom embedded script | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5515 | 2ba461a98 |
Fix display name conflict when using 2 identical displays | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | aa8e8e9ed |
BGFX: fix broken waitable swapchain on D3D11/12 | Vincent Bousquet | — |
| 2026-08-30 | 5513 | 98469cbd1 |
Reimplement 'default' segment source scheme for global controller URI | Vincent Bousquet | tar.gz |
| 2026-08-30 | 5512 | 5e4e048c4 |
VNI: add legacy file layout support (global path/rom name/pin2dmd.pal) | Vincent Bousquet | tar.gz |
| 2026-08-30 | — | e040d115a |
Fix collection manager always renaming collections | Vincent Bousquet | — |
| 2026-08-30 | — | 707e8afa2 |
Fix crash when undoing past first change | Vincent Bousquet | — |
| 2026-08-30 | 5509 | d3f150517 |
misc: fix B2S plugin gcc/clang builds (#3857) | Jason Millard | tar.gz |
| 2026-08-29 | — | 816aecf37 |
B2S: broaden B2SSetXXX allowed data types | Vincent Bousquet | — |
| 2026-08-29 | 5507 | 4742d18f9 |
WinUI: disable edits without a table | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | aeb6a7dc5 |
WinUI: fix keyboard shortcut filtering between app & edit boxes | Vincent Bousquet | — |
| 2026-08-29 | — | 042d73612 |
WinUI: fix assign to layer action & context menu | Vincent Bousquet | — |
| 2026-08-29 | 5504 | 7b75b83f5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-29 | 5503 | 3290ac420 |
avoid usage of the display/CRT shader if not bgfx | toxieainc | tar.gz |
| 2026-08-29 | 5502 | 3f838c14b |
Input: limit enforced definition to UI navigation | Vincent Bousquet | tar.gz |
| 2026-08-29 | — | b41c498e0 |
ResUriResolver: enforce threading safety | Vincent Bousquet | — |
| 2026-08-29 | — | 2a2d686eb |
AltSound: fix thread sync on run flag | Vincent Bousquet | — |
| 2026-08-28 | 5499 | d9496f942 |
PinMAME: latest (fix Granny & the gators) | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5498 | 68b100525 |
BGFX: fix D3D12 sRGB mipmap generation | Vincent Bousquet | tar.gz |
| 2026-08-28 | 5497 | bbfbe5bad |
Use typed enum for shader techniques/uniforms/attributes/types | Vincent Bousquet | tar.gz |
| 2026-08-28 | — | 0ea2ba4c7 |
BGFX: Enable uniform validation on OpenGL/GLES | Vincent Bousquet | — |
| 2026-08-28 | — | c807bc5c3 |
BGFX: latest | Vincent Bousquet | — |
| 2026-08-28 | — | 978307e4d |
BGFX: Fix destroying pending texture uploads after shutdown | Vincent Bousquet | — |
| 2026-08-28 | 5493 | c2bf4fd9e |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5492 | f9dc930d9 |
leftover, NFC | toxieainc | tar.gz |
| 2026-08-28 | 5491 | bb0f2b469 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-27 | 5490 | 7f7670df8 |
BGFX: remove custom mipmap generation (instead use driver/BGFX one) | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5489 | 3f5e03529 |
plugins: update WMP to match recent plugin updates (#3842) | Jason Millard | tar.gz |
| 2026-08-27 | 5488 | f3798204a |
Renderer: use typed enum for sampler filtering, clamping and for surface types | Vincent Bousquet | tar.gz |
| 2026-08-27 | 5487 | 9477bacf9 |
fix outdated leftover i commited :/ | toxieainc | tar.gz |
| 2026-08-27 | — | 11180a76f |
hopefully fix macOS problem seen by jsm174 by using SetTexture call overload correctly | toxieainc | — |
| 2026-08-27 | — | 6698f774e |
avoid that video/crt/lcd screens are unintentionally consumed by plugins or scripts that actually should only handle DMDs or SEGs | toxieainc | — |
| 2026-08-27 | 5484 | 721ebf663 |
Fix linux builds | Vincent Bousquet | tar.gz |
| 2026-08-26 | — | fe220d104 |
DMD Upscaler: fix crash on late activation | Vincent Bousquet | — |
| 2026-08-26 | — | e2ebc13a2 |
Plugin threading: VNI & Serum | Vincent Bousquet | — |
| 2026-08-26 | — | d6c8565d2 |
Plugin threading: DOF | Vincent Bousquet | — |
| 2026-08-26 | — | 380098420 |
Plugin threading: AlphaDMD, AltSound & DMDUtil cleanups | Vincent Bousquet | — |
| 2026-08-26 | — | 9a29b2bd0 |
ControllerPlugin: more threading cleanup | Vincent Bousquet | — |
| 2026-08-26 | 5478 | 16ed5405c |
add new p2k.vbs, update pinmame (optos fix and libpinmame 16bpp data path) and fix opengl(es) 16bpp data path (now is converted, same as bgfx does) | toxieainc | tar.gz |
| 2026-08-26 | 5477 | f41e160d9 |
oversample both CRT modes to avoid aliasing and moiree | toxieainc | tar.gz |
| 2026-08-26 | 5476 | 879026963 |
revert b & r swap again via new PinMAME | toxieainc | tar.gz |
| 2026-08-26 | 5475 | a7a96fee8 |
misc: ignore clangd index cache (#3816) | Sean Fausett | tar.gz |
| 2026-08-26 | 5474 | b2a35db41 |
misc: update ControllerPlugin.h to include utility/exception (fixes gcc) | Jason Millard | tar.gz |
| 2026-08-26 | — | 6f9051a5c |
plugins: fix inspector /displays endpoint not finding displays | Jason Millard | — |
| 2026-08-25 | — | 3cf1898e1 |
ControllerPlugins: partial threading cleanups | Vincent Bousquet | — |
| 2026-08-25 | 5471 | b6e767af1 |
add pixelated texture sampler mode | toxieainc | tar.gz |
| 2026-08-25 | — | c04739e64 |
update | toxieainc | — |
| 2026-08-25 | 5469 | 036571df9 |
fix remainders of #3792 | toxieainc | tar.gz |
| 2026-08-25 | 5468 | 6e2c53674 |
update to latest 2026 physics recommendations by JP with help by hassanchop | toxieainc | tar.gz |
| 2026-08-24 | 5467 | a64a5c2d0 |
PinMAME: move from draft to master branch | Vincent Bousquet | tar.gz |
| 2026-08-24 | — | 6fd599d79 |
ControllerPlugin: refactor game states | Vincent Bousquet | — |
| 2026-08-24 | 5465 | 27aefd307 |
fix missing/wrong dirty handling of script editor, fixes #3792 | toxieainc | tar.gz |
| 2026-08-24 | 5464 | b668f8243 |
BGFX: latest, with regenerated shaders | Vincent Bousquet | tar.gz |
| 2026-08-24 | 5463 | f2da87f21 |
derive CRT output pixel size via screen derivatives instead of magic x4 (fixes mask and scanlines), and wire 2nd CRT mode (only via define for now) (port of my Nuance CRT shader) | toxieainc | tar.gz |
| 2026-08-24 | 5462 | edda7e57d |
add 0,90,180,270 rotation option for ancillary windows (Backglass, Scoreview, Topper) | toxieainc | tar.gz |
| 2026-08-24 | 5461 | a56120090 |
avoid updating the same DMD/frame for flashers & textboxes, if content is the same | toxieainc | tar.gz |
| 2026-08-24 | 5460 | a16a44821 |
avoid some overhead by not updating if nothing has changed in the frame, and avoiding additional memory and a copy for a temporary buffer | toxieainc | tar.gz |
| 2026-08-24 | 5459 | d7df01e1d |
also avoid updates/uploads (similar to other plugins) if nothing changed since last time for B2S, B2Slegacy, ScoreView | toxieainc | tar.gz |
| 2026-08-24 | 5458 | ef453e0af |
Merge pull request #3815 from gitfool/fix-bx-config-debug-build-types | toxie | tar.gz |
| 2026-08-23 | 5456 | 6a54dfc2a |
Slight cleanup of ProcessAsyncTimer (early exit, still under mutex) | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5455 | 67a4ed038 |
FrameProfiler: make the cross-thread present timestamp atomic | Sean Fausett | tar.gz |
| 2026-08-23 | — | 26e983579 |
MsgPluginManager: read the timer list under its mutex | Sean Fausett | — |
| 2026-08-23 | — | 565e8c53c |
Fix BX_CONFIG_DEBUG for build types other than Debug and Release | Sean Fausett | — |
| 2026-08-23 | 5453 | 42ec8999f |
BGFX: update included shaderc.exe | Vincent Bousquet | tar.gz |
| 2026-08-23 | 5452 | 906e8b33e |
deps: bump bgfx.cmake and bgfx patch to latest | Jason Millard | tar.gz |
| 2026-08-22 | 5451 | 52f4e6f92 |
Plugin: move ResURIResolver to PinballPlugin namespace | Vincent Bousquet | tar.gz |
| 2026-08-22 | — | 4c139f24d |
Controller Plugin: threading cleanup | Vincent Bousquet | — |
| 2026-08-22 | — | 95c9096de |
Plugin: use PinballPlugin namespace as a root for scriptable helper classes | Vincent Bousquet | — |
| 2026-08-22 | — | 9b6c8bf20 |
Inspector: use GetCtrlItems instead of duplicated code | Vincent Bousquet | — |
| 2026-08-22 | — | 480a75d5d |
Plugin: Fix blocking RunAsync returning after start instead of finish | Vincent Bousquet | — |
| 2026-08-22 | 5446 | 63f31bdd9 |
Nudge: fix spurious tilt on first nudge with an event-driven accelerometer | Gary Brown | tar.gz |
| 2026-08-22 | 5445 | 3c08740c9 |
liveui: stack widgets below labels on narrow displays (fixes mobile) | Jason Millard | tar.gz |
| 2026-08-21 | 5444 | 5b3269031 |
liveui: keep renderer priority sliders in fixed order (#3787) | Jason Millard | tar.gz |
| 2026-08-21 | 5443 | ac48c3233 |
libvpinball: fix mobile webserver crashes (TestFlight/@Gerhard-BL) | Jason Millard | tar.gz |
| 2026-08-21 | 5442 | 195f214dd |
fix mobiles | toxieainc | tar.gz |
| 2026-08-21 | 5441 | 2ff3ae3b2 |
copy paste error | toxieainc | tar.gz |
| 2026-08-21 | — | c82663f13 |
fix build | toxieainc | — |
| 2026-08-21 | — | ef7728565 |
fix flasher legacy ui overlap | toxieainc | — |
| 2026-08-21 | — | d243e67bf |
optimize is_string_numeric usage and handle corner cases more robustly | toxieainc | — |
| 2026-08-21 | 5437 | 658196b3e |
fix 'CRT' not being sticky in legacy UI | toxieainc | tar.gz |
| 2026-08-20 | 5436 | af26b2d93 |
PinMAME: latest (Pin2K emulation) | Vincent Bousquet | tar.gz |
| 2026-08-16 | 5435 | 292018604 |
deps: bump libpinmame to 11f8bc18b0781b45ae133acad04c83aeeaf38496 (fixes WPT) | Jason Millard | tar.gz |
| 2026-08-16 | 5434 | 352e72fb8 |
inspector: stream displays over websocket instead of bmp polling | Jason Millard | tar.gz |
| 2026-08-13 | 5433 | b968faa7d |
plugins: add displays endpoint to inspector | Jason Millard | tar.gz |
| 2026-08-13 | 5432 | 320985d9b |
mobile: include inspector plugin assets in builds | Jason Millard | tar.gz |
| 2026-08-12 | 5431 | eb4257d72 |
fix: log messages re duplicate as warnings | Sean Fausett | tar.gz |
| 2026-08-12 | — | 4d68146da |
fix: log messages re deprecated as warnings | Sean Fausett | — |
| 2026-08-12 | 5429 | 9d7446764 |
plugins: release B2S/B2SLegacy controller msg IDs on server teardown | Jason Millard | tar.gz |
| 2026-08-12 | 5428 | 0f7fbd4ea |
misc: attempt to restore working ball control | Jason Millard | tar.gz |
| 2026-08-11 | 5427 | f00e4c84a |
fix: cross thread access in web servers and B2S state sources | Jason Millard | tar.gz |
| 2026-08-11 | 5426 | ebb943cf3 |
b2slegacy: backport state groups from b2s | Jason Millard | tar.gz |
| 2026-08-11 | — | a4e49e228 |
scripts: guard UltraDMD_Options wscript shell exec error | Jason Millard | — |
| 2026-08-11 | — | 255b10e05 |
b2slegacy: allow string arguments in B2SSetData and B2SSetPos | Jason Millard | — |
| 2026-08-11 | — | 4117cbc22 |
fix: allow free image to decode PNG with corrupted gamma chunks | Jason Millard | — |
| 2026-08-10 | 5422 | d28c78eb1 |
b2slegacy: value-initialize published StateDef entries (#3776) | superhac | tar.gz |
| 2026-08-10 | 5421 | 7063c3650 |
fix: throttle standalone progress log to at most once per second (#3773) | Sean Fausett | tar.gz |
| 2026-08-09 | 5420 | a8087ea9a |
Merge pull request #3772 from mcragun/agent/guard-headless-flipper-live-ui | toxie | tar.gz |
| 2026-08-09 | 5418 | a96566483 |
fix: correct PPUC org casing and links in plugin configs (#3774) | Sean Fausett | tar.gz |
| 2026-08-08 | — | d2446a894 |
Guard live UI access in flipper collisions | Matt Cragun | — |
| 2026-08-08 | 5417 | 4076ca590 |
android: update with additional SDL 3.4.14 changes | Jason Millard | tar.gz |
| 2026-08-08 | 5416 | 6835c4cd7 |
pup: stub GameUpdate to avoid table crashes | Jason Millard | tar.gz |
| 2026-08-08 | — | d6004882d |
standalone: ffp-contract=off, FMA fusing breaks float sorts | Jason Millard | — |
| 2026-08-08 | — | 9b66f9c2a |
standalone: rework TTF_Init/TTF_Quit (fixes exit crash on tf) | Jason Millard | — |
| 2026-08-08 | — | f291eb9bd |
deps: bump bgfx to latest | Jason Millard | — |
| 2026-08-05 | 5412 | a7d916c4d |
avoid builtin isfinite | toxieainc | tar.gz |
| 2026-08-05 | 5411 | c4effdcf5 |
leftovers, NFC | toxieainc | tar.gz |
| 2026-08-05 | 5410 | 05dd11dc6 |
flt_min -> -flt_max when loading/saving floats | toxieainc | tar.gz |
| 2026-08-05 | 5409 | 364461b83 |
update SDL to latest | toxieainc | tar.gz |
| 2026-08-04 | 5408 | 24d679e63 |
deps: use merged libdmdutil revision | djrobx | tar.gz |
| 2026-08-04 | — | 05e0d6211 |
deps: bump libdmdutil for SAM palette API | djrobx | — |
| 2026-08-04 | — | 79318a419 |
VNI: require provider identify frames | djrobx | — |
| 2026-08-03 | 5405 | fcb2ad6c8 |
Fix external renderer on 2D surface depth masking bug | Vincent Bousquet | tar.gz |
| 2026-08-03 | — | ebdcbe8c9 |
PUP: add missing TTF quit (& PUPLabel formatting NFC) | Vincent Bousquet | — |
| 2026-08-03 | 5403 | 49801d30c |
B2S: Fix stuck bulbs | Carmen Wick | tar.gz |
| 2026-08-02 | 5402 | 3faa77e9c |
PinMAME: Latest (broadcast console event) | Vincent Bousquet | tar.gz |
| 2026-08-02 | — | dfc8fd7c3 |
PinMAME: fix backward compatibility for DIP switches | Vincent Bousquet | — |
| 2026-08-02 | — | 57fde02db |
Cleanup, NFC | Vincent Bousquet | — |
| 2026-08-02 | 5399 | 7dd52585a |
PinMAME: Latest (fix WPC GameOn, broadcast console) | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5398 | e64faed6d |
ScoreView: add CRT & LCD display support | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5397 | 69795f154 |
Add missing initial audio source discovery during player creation | Vincent Bousquet | tar.gz |
| 2026-08-01 | 5396 | ae4133464 |
PUP: misc fixes | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5395 | 6b8148bff |
Fix external renderer on flasher rendering | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5394 | 361dc0e02 |
PinMAME: don't broadcast audio with a 0 sample rate | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 4c9c25957 |
Music: validate music path | Vincent Bousquet | — |
| 2026-07-31 | 5392 | b7d9f2652 |
WinUI: little cleanup | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2d7649fdb |
Display rendering: fix textbox and flasher rendering | Vincent Bousquet | — |
| 2026-07-31 | — | 479fa43ab |
Audio: persist source levels and expose them in InGameUI | Vincent Bousquet | — |
| 2026-07-31 | 5389 | 551baad55 |
Display rendering: always apply 3D transform | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5388 | 9629bdea3 |
PinMAME: implement Controller.Game.Settings("sound") bool | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | 2a8b6f895 |
Fix invalid use of FLT_MIN instead of -FLT_MAX | Vincent Bousquet | — |
| 2026-07-31 | 5386 | 0d29ce855 |
Create VR backglass flasher after loading to prevent name conflict | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5385 | 8102278be |
Fix DMD/CRT/Seg renderer clipspace coordinates & parallax effect | Vincent Bousquet | tar.gz |
| 2026-07-31 | 5384 | 3a2307d58 |
Audio: remove 'enable/disable' setting and cleanups | Vincent Bousquet | tar.gz |
| 2026-07-31 | — | d1cf55576 |
Plugin: Refactor controller sound API | Vincent Bousquet | — |
| 2026-07-30 | 5382 | eb32f30c8 |
Enable display parallax effect for ancillary renderers | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | c07484948 |
Fix 3D DMD rendering (missing world transform) | Vincent Bousquet | — |
| 2026-07-30 | — | f9410f415 |
Cleanup deprecated VR DMD | Vincent Bousquet | — |
| 2026-07-30 | 5379 | de52c9517 |
BGFX: Latest | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5378 | 40a06af82 |
VR: Center table relative to player | Carmen Wick | tar.gz |
| 2026-07-30 | 5377 | 4b5a8f5c7 |
Drop all sounds instance when restart is requested, even with usesame=false | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5376 | baeb52f12 |
Don't add backglass flasher helper if there is already one | Vincent Bousquet | tar.gz |
| 2026-07-30 | 5375 | 884431161 |
WinUI: Fix crash on second Select Dialog open | Vincent Bousquet | tar.gz |
| 2026-07-30 | — | 6ae40023c |
WinUI: delete elements of deleted layer | Vincent Bousquet | — |
| 2026-07-30 | 5373 | 69029cbcc |
Audio: fix crash when audio device initialization fails | Jason Millard | tar.gz |
| 2026-07-30 | — | 0bfb6857b |
DOF: guard event handler against null consumer thread | Jason Millard | — |
| 2026-07-30 | — | a8b24da25 |
Plugin: fix seg state array sized per source instead of per element | Jason Millard | — |
| 2026-07-30 | — | 3aada6ce7 |
Plugin: fix seg display query using display source message id | Jason Millard | — |
| 2026-07-29 | 5369 | b5d9da7ef |
PinMAME: fix modulated flipper support | Vincent Bousquet | tar.gz |
| 2026-07-29 | — | 04197c0ef |
WinUI: fix invalid placement of VR combo inside toolbar | Vincent Bousquet | — |
| 2026-07-29 | — | 88a4e4886 |
Fix invalid default playfield height | Vincent Bousquet | — |
| 2026-07-29 | — | 2157f4ea4 |
Plugin: refactor controller enumeration | Vincent Bousquet | — |
| 2026-07-29 | — | f5ed17240 |
Plugin: remove pinup events | Vincent Bousquet | — |
| 2026-07-29 | 5364 | 5fb68c455 |
Timer: fix Defer() scheduling the timer in the past instead of the future | Carmen Wick | tar.gz |
| 2026-07-28 | 5363 | bcc3d42c1 |
B2S: cleanups, implement Run/Stop, expose game states | Vincent Bousquet | tar.gz |
| 2026-07-27 | 5362 | 2c6782ddf |
Inspector: add simple DMD/CRT inspection | Vincent Bousquet | tar.gz |
| 2026-07-27 | — | 6dc0372ba |
PinMAME: fix alias being broadcasted as parent game | Vincent Bousquet | — |
| 2026-07-27 | — | 7159d500d |
Inspector: group display category node per endpoint | Vincent Bousquet | — |
| 2026-07-27 | 5359 | 1630a52c2 |
PinMAME: Latest with memmap game state support | Vincent Bousquet | tar.gz |
android-mobile — 226 builds · latest #5809 (2026-09-23)
| Date | Build | SHA | Commit | Author | Download |
|---|---|---|---|---|---|
| 2026-09-23 | — | f9e811520 |
BGFX: Latest | Vincent Bousquet | — |
| 2026-09-23 | 5809 | 94c61db24 |
LiveEditor: implicit playfield defaults to textured in editor | Vincent Bousquet | apk |
| 2026-09-23 | — | 1a22ef439 |
Refactor DragPoint & Curve to be plain POCO | Vincent Bousquet | — |
| 2026-09-23 | 5807 | 84e69e79e |
LiveEditor: fix wireframe rendering (transparent with fixed order between fill & edge) | Vincent Bousquet | apk |
| 2026-09-23 | — | 65b74827e |
VPX-Test: extend test converage | Vincent Bousquet | — |
| 2026-09-23 | 5805 | d8a1fdc55 |
Fix selecting subparts (points and light center) | Vincent Bousquet | apk |
| 2026-09-23 | — | 4be7bbbe6 |
VPX-Test: add base tests for core parts | Vincent Bousquet | — |
| 2026-09-23 | — | f51f0aee5 |
VPX-Test: cross platform support, CMake and github workflow | Vincent Bousquet | — |
| 2026-09-23 | 5802 | bcddb7cb3 |
rework 0632840fcff62d5ce7897efa7e4d17326c30be5f (remove LUT from embedded windows), as it was kinda incomplete, especially for HDR displays | toxieainc | apk |
| 2026-09-23 | 5801 | d3d1ab8f9 |
fix loading/corruption-checks for pre-VPX tables: restore legacy postload code for surfaces/walls (broken/crashing as-was); add hash-tracking/recording to support legacy hashing (as other order; no-op for VPX tables); remove font descs from hashing (like it was before); | toxieainc | apk |
| 2026-09-23 | 5800 | e96f8b5ff |
fix non-win builds | toxieainc | apk |
| 2026-09-23 | — | 2da98f25b |
split up STANDALONE in some more verbose defines in stdafx.h (not everything for now); implement a custom/win32-matching MD2 computation, enabling hash/corruption-checking for standalone-loading, and in general standalone-saving; fix VP8/VP9 loading complaining about corruption (by enforcing single threading) | toxieainc | — |
| 2026-09-23 | 5798 | 0ff7e886c |
WinUI: fix selection of invisible parts | Vincent Bousquet | apk |
| 2026-09-23 | 5797 | 67c06e671 |
fix win32xx define includes | toxieainc | apk |
| 2026-09-23 | 5796 | 54186656e |
separate ProgressDialog into standalone and win32ui parts, same for resource IDs (and remove/unify some dupes) | toxieainc | apk |
| 2026-09-22 | 5795 | 17ddd4375 |
LiveEditor: Disable VR | Vincent Bousquet | apk |
| 2026-09-22 | 5794 | ff0676ba3 |
Cross platform MessageBox & errors | Vincent Bousquet | apk |
| 2026-09-22 | 5793 | 03e0753f8 |
WinUI: fix picking & selection cycling | Vincent Bousquet | apk |
| 2026-09-22 | — | b475c4932 |
LiveEditor: fix picking Gate, Spinner & Plunger | Vincent Bousquet | — |
| 2026-09-22 | — | 0632840fc |
Fix LUT being applied to embedded ancillary windows | Vincent Bousquet | — |
| 2026-09-22 | — | 0ff21b591 |
VR: define eye resolution against XR recommended size | Vincent Bousquet | — |
| 2026-09-22 | — | 79bb6b498 |
VPX Test: add fileio including POLE tests | Vincent Bousquet | — |
| 2026-09-22 | — | 5ddfc2080 |
VPX Test: perform render visualisation after temporal accumulation | Vincent Bousquet | — |
| 2026-09-22 | — | c1f9b37b5 |
VPX Test: fix build, add commandline doctest options | Vincent Bousquet | — |
| 2026-09-22 | — | f6b524c60 |
LiveUI: adapt display mode to trigger (default fro tweak, top ortho wireframe for editor) | Vincent Bousquet | — |
| 2026-09-22 | — | 159082e21 |
POLE: fix OLE v4 support, wrong DIFAT writing, balancing | Vincent Bousquet | — |
| 2026-09-22 | 5784 | 198942128 |
fix build | toxieainc | apk |
| 2026-09-22 | 5783 | bf23ef4fa |
try to fix build | toxieainc | apk |
| 2026-09-22 | — | 4709d1508 |
cleanup builds a bit, now that separation between standalone and 'classic' win32ui builds is clearer | toxieainc | — |
| 2026-09-22 | 5781 | 4891c3b07 |
deps: bump libdmdutil to ab3d85a68b64254eec433eca788db8d86ac450cc | Jason Millard | apk |
| 2026-09-22 | — | 8fe6ca9ee |
DMDUtil: fix crash from recreating the DMD on every display source change | Jason Millard | — |
| 2026-09-21 | 5779 | fb0531451 |
FlexDMD: add a threaded render loop, fix crash on GetRenderFrame | Vincent Bousquet | apk |
| 2026-09-21 | 5778 | 400fa1092 |
remove STANDALONE check | toxieainc | apk |
| 2026-09-21 | 5777 | 073204bff |
Merge branch 'master' of https://github.com/vpinball/vpinball | toxieainc | apk |
| 2026-09-21 | — | f5456e54b |
fix Alt key combinations not being handed to the menu, fixes #2673 | toxieainc | — |
| 2026-09-21 | 5775 | c7acf33cd |
Renderer: temporal prerendering of static parts | Vincent Bousquet | apk |
| 2026-09-21 | 5774 | f8fe890da |
tweak scanline strength | toxieainc | apk |
| 2026-09-20 | 5773 | 676b19ec0 |
LiveEditor: import/export mesh fixes | Vincent Bousquet | apk |
| 2026-09-20 | — | 788a53f54 |
LiveEditor: account for overlayed UI when fitting view | Vincent Bousquet | — |
| 2026-09-20 | — | d36aed9c4 |
LiveEditor: open on a 2D orthographic view | Vincent Bousquet | — |
| 2026-09-20 | — | 72c292521 |
LiveEditor: add missing properties, add support for forced rendering while in wireframe mode | Vincent Bousquet | — |
| 2026-09-20 | — | c02701c22 |
LiveEditor: split main EditorUI into separate class to keep it readable | Vincent Bousquet | — |
| 2026-09-20 | 5768 | 68aa70103 |
WinUI: don't rename if no change, always adjust linked parts (without asking user) | Vincent Bousquet | apk |
| 2026-09-20 | — | aef4f3e38 |
LiveEditor: when centering on selection, adjust zoom to selection bounds | Vincent Bousquet | — |
| 2026-09-20 | — | 28d9726f6 |
LiveEditor: main toolbar cleanup | Vincent Bousquet | — |
| 2026-09-20 | 5765 | 7d5e74499 |
Fix invalid box selection of targets | Vincent Bousquet | apk |
| 2026-09-20 | — | 001a18c2c |
LiveEditor: Add "Add part" keyboard shortcut (& fix build) | Vincent Bousquet | — |
| 2026-09-20 | — | 5041d9c87 |
PinUndo: store & restore selection on undo (WinUI & LiveUI) | Vincent Bousquet | — |
| 2026-09-20 | — | 68dcb3a7b |
LiveEditor: Fix dragging ball in a live player | Vincent Bousquet | — |
| 2026-09-20 | — | f86950d7a |
LiveEditor: Add 'create part' actions and UI | Vincent Bousquet | — |
| 2026-09-20 | — | 893de86f9 |
LiveEditor: Improve curve edition | Vincent Bousquet | — |
| 2026-09-20 | 5759 | 60ca20487 |
Input: propose a cabinet nudge sensor for Pinscape instead of a gamepad one | Jason Millard | apk |
| 2026-09-20 | — | ccf35436c |
InGameUI: keep mappings, strength and cabinet mass when switching nudge sensor type | Jason Millard | — |
| 2026-09-20 | — | b748b1924 |
Nudge: update NudgeSensorStatus read-out even when the plumb simulation is off | Jason Millard | — |
| 2026-09-20 | — | eb52e13a3 |
Nudge: default cabinet sensor mass to 113kg instead of 1kg | Jason Millard | — |
| 2026-09-20 | — | f14360b2f |
Nudge: fix sensor count saved after removing a sensor | Jason Millard | — |
| 2026-09-20 | — | 77f207f54 |
LiveEditor: update docs | Vincent Bousquet | — |
| 2026-09-20 | — | 265b3fe50 |
BGFX: fix multiple clear on a single view handling | Vincent Bousquet | — |
| 2026-09-20 | — | 78a92bcf7 |
LiveEditor: implement backdrop view | Vincent Bousquet | — |
| 2026-09-20 | — | 776935799 |
Add Picking support to Decal, DispReel and TextBox | Vincent Bousquet | — |
| 2026-09-19 | 5750 | ad499bdab |
LiveEditor: dynamicly filter outliner, add reset filter button | Vincent Bousquet | apk |
| 2026-09-19 | — | e48de08bb |
LiveEditor: add drag point curve edition | Vincent Bousquet | — |
| 2026-09-19 | — | ab3dc9818 |
LiveEditor: use default table when loaded failed or no filename passed | Vincent Bousquet | — |
| 2026-09-19 | — | 11cbcf401 |
LiveEditor: cleanup Selection class | Vincent Bousquet | — |
| 2026-09-19 | — | a451d2634 |
LiveEditor: add multiselect / multiedit | Vincent Bousquet | — |
| 2026-09-19 | — | 4d7587357 |
LievEditor: remove unused dead code & classes | Vincent Bousquet | — |
| 2026-09-19 | — | c99678298 |
LiveEditor: misc fixes | Vincent Bousquet | — |
| 2026-09-19 | — | 8962fc507 |
PinTable: Fix Live <-> Startup missing mapping | Vincent Bousquet | — |
| 2026-09-19 | 5742 | fbc66529e |
optimize script parsing (e.g. while typing) and some cleanups/leftovers | toxieainc | apk |
| 2026-09-19 | 5741 | c9ab5fe5d |
Remove leftover dead code files | Vincent Bousquet | apk |
| 2026-09-19 | — | f84143ced |
Remove standlone bridge between POLE and Win32 IStream/Storage | Vincent Bousquet | — |
| 2026-09-19 | — | 4a7446517 |
Use POLE for OLE file save as well | Vincent Bousquet | — |
| 2026-09-19 | — | 3d33fc4b4 |
Cleanup PinUndo, remove its dependency on WinUI editor, don't auto enable/disable | Vincent Bousquet | — |
| 2026-09-19 | — | d3b65e660 |
Move PinUndo to editors instead of table | Vincent Bousquet | — |
| 2026-09-19 | — | be6d34355 |
PinTable: fix invalid implicit undo point creation | Vincent Bousquet | — |
| 2026-09-19 | — | 531f626df |
Fix leftover invalid undo discard | Vincent Bousquet | — |
| 2026-09-19 | — | 2ee868fbe |
PinTable: remove WinEditor member | Vincent Bousquet | — |
| 2026-09-19 | — | 745b36d7e |
PinTabel: retype collection to std::vector, makes m_vcollection private | Vincent Bousquet | — |
| 2026-09-19 | — | 77b29d552 |
PinTable cleanups | Vincent Bousquet | — |
| 2026-09-19 | — | 77f03e23c |
Remove IStream use when reading data | Vincent Bousquet | — |
| 2026-09-18 | 5730 | fd5e18d1a |
DragPointCurve: refactor & cleanup | Vincent Bousquet | apk |
| 2026-09-18 | — | 33cded723 |
Remove flasher center to prevent discrepancies between center and points | Vincent Bousquet | — |
| 2026-09-18 | — | f2f7cb42d |
Assert that plugin do flush callbacks they have dispatched on unload | Vincent Bousquet | — |
| 2026-09-18 | 5727 | b003609ae |
PinMAME: fix message dispatch while stopping Controller | Vincent Bousquet | apk |
| 2026-09-18 | — | 095f63021 |
Fix LiveEditor disclaimer being displayed for InGame tweaks | Vincent Bousquet | — |
| 2026-09-18 | 5725 | 9e16f7684 |
Fix sound dialog test button | Vincent Bousquet | apk |
| 2026-09-18 | 5724 | b347029fc |
Fix standalone build | Vincent Bousquet | apk |
| 2026-09-18 | — | 60da81462 |
Cleanup m_scriptableNames to be a set instead of a map | Vincent Bousquet | — |
| 2026-09-18 | — | 24bc36a92 |
LiveUI: fix invalid PropertyPane dispatch | Vincent Bousquet | — |
| 2026-09-18 | — | 103bd6d9c |
Fix invalid IHitable access | Vincent Bousquet | — |
| 2026-09-18 | — | 487477abf |
Cleanup invalid ScripGlobalTable access to table from global singletons | Vincent Bousquet | — |
| 2026-09-18 | — | 697625464 |
Keep Undelete inside PinTable instead of per IEditable | Vincent Bousquet | — |
| 2026-09-18 | — | 7b9b91ad6 |
Remove LightCenter from the data model as it is only a WinUI interaction part | Vincent Bousquet | — |
| 2026-09-18 | — | 0911c4759 |
Remove ISelect interface | Vincent Bousquet | — |
| 2026-09-18 | — | 21386d3cf |
Move delete implementation to PinTableWnd, unifying Undo markers in PinTable & fixing multisel delete | Vincent Bousquet | — |
| 2026-09-18 | — | 2a2dd5b62 |
Move PinUndo requests from dragpoint modifiers to requesters | Vincent Bousquet | — |
| 2026-09-18 | — | e46393588 |
Refactor IHaveDragPoints to be a curve class used by composition | Vincent Bousquet | — |
| 2026-09-18 | — | fd9957eb0 |
IEditable: Remove Uncreate which is an unneeded loop between table and part | Vincent Bousquet | — |
| 2026-09-17 | 5712 | 4791b6800 |
WinUI: use IWinUIPart ionstead of ISelect, removing Uncreate & IsSubPart from ISelect | Vincent Bousquet | apk |
| 2026-09-17 | — | eeaafec59 |
WinUI: cleanups, NFC | Vincent Bousquet | — |
| 2026-09-17 | — | e73680a43 |
WinUI: more parts vs UI clean ups | Vincent Bousquet | — |
| 2026-09-17 | — | 05a3574b4 |
WinUI: move more UI from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | 85a8e06b8 |
Remove unused STDMETHOD not part of IDL (dead code) | Vincent Bousquet | — |
| 2026-09-17 | — | d95a0e327 |
WinUI: move editor operation from PinTable to PinTableWnd | Vincent Bousquet | — |
| 2026-09-17 | — | c8043a349 |
WinUI: replace usages of ISelect by IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | db9569731 |
WinUI: add GetItemType & IsSubPart to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | — | 4455338fb |
WinUI: change selection to be made of IWinUIPart instead of ISelect | Vincent Bousquet | — |
| 2026-09-17 | — | 0e9b1185f |
WinUI: replace VectorProtected by vector<ISelect *> | Vincent Bousquet | — |
| 2026-09-17 | — | 5ed342805 |
WinUI: move win tool & cursor Id to IWinUIPart | Vincent Bousquet | — |
| 2026-09-17 | 5701 | f521c2fa2 |
update to latest PinMAME | toxieainc | apk |
| 2026-09-17 | 5700 | 693e91639 |
make P2K menu-entering more similar to the other machines | toxieainc | apk |
| 2026-09-17 | 5699 | d2909902f |
add additional flasher mode for displays: additive+absorb (mainly to help make P2K style reflected CRTs look better) | toxieainc | apk |
| 2026-09-16 | 5698 | 8e4b1f18c |
VR: fix invalid resolution selection on some setups | Vincent Bousquet | apk |
| 2026-09-16 | — | 1e5e1c8dd |
WinUI: use table pointer for property panes instead of relying on global singleton | Vincent Bousquet | — |
| 2026-09-16 | — | d230a5be4 |
WinUI: target UIPart registry at IEditable, not ISelect | Vincent Bousquet | — |
| 2026-09-16 | — | 8e750a1a0 |
WinUI: minor cleanup | Vincent Bousquet | — |
| 2026-09-16 | — | 92fbccc9e |
Finally remove part dependency on Win32 editor (except PinTable) | Vincent Bousquet | — |
| 2026-09-16 | 5693 | 5f559108c |
WinUI: Fix handling of multiselect with parts together with subparts | Vincent Bousquet | apk |
| 2026-09-16 | — | 4b7ee9f93 |
Fix Undo marker when renaming (only apply from editor) | Vincent Bousquet | — |
| 2026-09-16 | — | 8c78eacf3 |
Move Undo from IEditable to PinTable, remove Undo for script calls | Vincent Bousquet | — |
| 2026-09-16 | — | 820ed08f4 |
Move Undo management from parts to table | Vincent Bousquet | — |
| 2026-09-16 | — | 415450a9c |
Move Undo from AddPoint implementation to UI caller | Vincent Bousquet | — |
| 2026-09-16 | — | 4b0a82e90 |
ISelect remove SetDirtyDraw (WinUI refresh) | Vincent Bousquet | — |
| 2026-09-16 | 5687 | 78ccdbed1 |
liveui: add logging settings, remove from native mobile | Jason Millard | apk |
| 2026-09-16 | — | 3a3ef140c |
deps: bump libdmdutil (fixes serum logging) | Jason Millard | — |
| 2026-09-16 | 5685 | 74fe1a2f4 |
Move pure geometric operation from ISelect to IEditable | Vincent Bousquet | apk |
| 2026-09-16 | — | 4f706dea4 |
ISelect: remove GetTypeName, cleaning up UI vs Naming name generation | Vincent Bousquet | — |
| 2026-09-16 | — | c90719c5d |
ISelect: move UpdateStatusBarInfo to IWinUIParts | Vincent Bousquet | — |
| 2026-09-16 | — | 566dcc8d0 |
Remove START/STOPUNDOSELECT which are local helpers for DragPoint | Vincent Bousquet | — |
| 2026-09-16 | — | bf00055a6 |
HitTarget: fix hijacked UpdateSTatusBar in fact updating mesh | Vincent Bousquet | — |
| 2026-09-16 | — | ea1c8d6aa |
HitTarget: Remove leftover comment | Vincent Bousquet | — |
| 2026-09-16 | — | [32a5cdae7](https://github.com/vpinball/vpinball/c |