DOF Events

If DOF is installed on your system, PinballY generates DOF events to trigger effects from your feedback devices (such as solenoids and flasher lights). This will fire flashers and other devices on certain events, such as when you switch between tables in the table list.

DOF integration is automatic. To take advantage of it, just make sure that DOF is installed and that your .ini files from the DOF Config Tool are up to date. The PinballY definitions were added to the Config Tool database in late July 2018, so you'll need to generate and download fresh copies if your current .ini files are older than that.

You can disable PinballY's DOF usage entirely via the DOF Options page in the Settings dialog.

DOF setup

If you use a "cabinet config" file with DOF, it's important to create a DOF global config file for PinballY. DOF uses a separate global config file for each program. The DOF global config file for PinballY is called GlobalConfig_PinballY.xml.

The easiest way to create the PinballY global config is to copy your existing global config for B2SServer:

In the future, if you make any changes to any of your global config files, remember to make the same changes to your GlobalConfig_PinballY.xml file while you're at it.

If you don't create a GlobalConfig_PinballY.xml file, DOF will just use its default settings for PinballY. That's fine if you don't need any custom settings, but it's not fine if you need a cabinet config file, since the DOF default is that there is no cabinet config file. The cabinet config file is important if you have devices that DOF can't discovery by scanning your system, particularly addressable LED strips. If you have LED strips and they don't seem to work in PinballY, the problem might be a missing global config file for PinballY.

Customizing DOF effects

You can customize all of PinballY's DOF effects via the DOF Config Tool.

The Config Tool's database includes a predefined set of effects for PinballY, so you don't have to do anything to use the standard effects other than making sure your .ini files are up-to-date. If you want to customize anything, though, the Config Tool lets you override any of the default effects with your own custom settings.

Here's how you can access the PinballY settings in the Config Tool:

All of the PinballY DOF effects are defined under this "PinballY" pseudo-table. As far as DOF is concerned, PinballY is just another pinball table.

PinballY's entries in the Config Tool follow the standard format defined by DOF. That standard format is unfortunately rather obtuse and difficult to read, and it's beyond the scope of what we can explain here, but you can find documentation on it in the DOF user guide. What we will give you is a list of the special event names and state names that PinballY generates.

Note that all named effects in the Config Tool are specified with a $ prefix, so remember to add that to the names in the lists below. For example, you'd write $PBYWheelNext in the Config Tool field if you want something to trigger on a "wheel next" event.

@allrgb@: There's one special bit of Config Tool syntax that's worth mentioning, because it's a special Config Tool feature that isn't part of DOF. If you put @allrgb@ in one of the toy fields, the Config Tool expands this to a list of the settings for that toy for all of the individual tables throughout the rest of the database. This translates to showing the same colors on that device that would be shown if you were actually playing the game. For example, putting @allrgb@ in the "RGB Flippers" field makes the flipper buttons light up in the colors for whichever table is currently selected in the PinballY wheel display. This only applies to RGB toys.

Events

Each time something DOF-worthy happens in the PinballY user interface, PinballY fires a named DOF event. For example, when you press the Next button (usually the right flipper button) to switch to the next game, PinballY fires a PBYWheelNext event.

Here's a list of the events that PinballY fires:

States

In addition to events, PinballY has "states". These differ from events only in that states are long-lasting. An event fires briefly, usually triggering a quick event in DOF, such as flashing the flashers or firing a flipper solenoid. A state turns on and stays on for an extended period. States tell DOF the current context in the UI: showing a game in the wheel interface, showing a menu, running the "attract mode" screen saver, and so on.

Current ROM name

In addition to the PBYxxx states, PinballY also turns on a named event with the same name as the ROM for the table currently selected in the wheel display. For example, PinballY turns on the named effect MM when Medieval Madness is currently selected in the wheel. This lets you trigger effects that depend on which table is selected. The @allrgb@ syntax described above uses this to select device colors according to the selected table, but you can also use it explicitly for individual effects. The ROM names match the names in the Config Tool, which you can see listed on the Table Config page (look for "Rom: XXX" near the top of the page).