DirectOutput
DirectOutput framework R3 for virtual pinball cabinets.
Loading...
Searching...
No Matches
ProPinballBridge.cpp File Reference
#include "stdafx.h"
#include "ProPinballBridge.h"
#include "boost/interprocess/ipc/message_queue.hpp"
#include <stdio.h>
Include dependency graph for ProPinballBridge.cpp:

Classes

struct  FEEDBACK_MESSAGE_DATA
struct  SLAVE_MESSAGE

Typedefs

typedef int32_t s32
typedef float f32

Enumerations

enum  MESSAGE_TYPE { MESSAGE_TYPE_SLAVE_READY , MESSAGE_TYPE_END , MESSAGE_TYPE_FEEDBACK }
enum  SOLENOID_ID {
  SO_PLUNGER = 0 , SO_TROUGH_EJECT , SO_KNOCKER , SO_LEFT_SLINGSHOT ,
  SO_RIGHT_SLINGSHOT , SO_LEFT_JET , SO_RIGHT_JET , SO_BOTTOM_JET ,
  SO_LEFT_DROPS_UP , SO_RIGHT_DROPS_UP , SO_LOCK_RELEASE_1 , SO_LOCK_RELEASE_2 ,
  SO_LOCK_RELEASE_3 , SO_LOCK_RELEASE_A , SO_LOCK_RELEASE_B , SO_LOCK_RELEASE_C ,
  SO_LOCK_RELEASE_D , SO_MIDDLE_EJECT , SO_TOP_EJECT_STRONG , SO_TOP_EJECT_WEAK ,
  SO_MIDDLE_RAMP_DOWN , SO_HIGH_DIVERTOR , SO_LOW_DIVERTOR , SO_SCOOP_RETRACT ,
  SO_MAGNO_SAVE , SO_MAGNO_LOCK , NUM_SOLENOIDS
}
enum  FLASHER_ID {
  FL_LEFT_RETURN_LANE = 0 , FL_RIGHT_RETURN_LANE , FL_TIME_MACHINE , FL_LOCK_ALPHA ,
  FL_LOCK_BETA , FL_LOCK_GAMMA , FL_LOCK_DELTA , FL_CRYSTAL ,
  NUM_FLASHERS
}
enum  FLIPPER_ID { FLIP_LOW_LEFT = 0 , FLIP_LOW_RIGHT , FLIP_HIGH_RIGHT , NUM_FLIPPERS }
enum  BUTTON_ID { BUTTON_ID_START , BUTTON_ID_FIRE , BUTTON_ID_MAGNOSAVE , NUM_BUTTONS }

Variables

const char * SOLENOID_NAME [NUM_SOLENOIDS]
const char * FLASHER_NAME [NUM_FLASHERS]
const char * FLIPPER_NAME [NUM_FLIPPERS]
const char * BUTTON_NAME [NUM_BUTTONS]
const int DEFAULT_MESSAGE_PRIORITY = 0

Typedef Documentation

◆ f32

typedef float f32

◆ s32

typedef int32_t s32

Enumeration Type Documentation

◆ BUTTON_ID

enum BUTTON_ID
Enumerator
BUTTON_ID_START 
BUTTON_ID_FIRE 
BUTTON_ID_MAGNOSAVE 
NUM_BUTTONS 

◆ FLASHER_ID

enum FLASHER_ID
Enumerator
FL_LEFT_RETURN_LANE 
FL_RIGHT_RETURN_LANE 
FL_TIME_MACHINE 
FL_LOCK_ALPHA 
FL_LOCK_BETA 
FL_LOCK_GAMMA 
FL_LOCK_DELTA 
FL_CRYSTAL 
NUM_FLASHERS 

◆ FLIPPER_ID

enum FLIPPER_ID
Enumerator
FLIP_LOW_LEFT 
FLIP_LOW_RIGHT 
FLIP_HIGH_RIGHT 
NUM_FLIPPERS 

◆ MESSAGE_TYPE

Enumerator
MESSAGE_TYPE_SLAVE_READY 
MESSAGE_TYPE_END 
MESSAGE_TYPE_FEEDBACK 

◆ SOLENOID_ID

Enumerator
SO_PLUNGER 
SO_TROUGH_EJECT 
SO_KNOCKER 
SO_LEFT_SLINGSHOT 
SO_RIGHT_SLINGSHOT 
SO_LEFT_JET 
SO_RIGHT_JET 
SO_BOTTOM_JET 
SO_LEFT_DROPS_UP 
SO_RIGHT_DROPS_UP 
SO_LOCK_RELEASE_1 
SO_LOCK_RELEASE_2 
SO_LOCK_RELEASE_3 
SO_LOCK_RELEASE_A 
SO_LOCK_RELEASE_B 
SO_LOCK_RELEASE_C 
SO_LOCK_RELEASE_D 
SO_MIDDLE_EJECT 
SO_TOP_EJECT_STRONG 
SO_TOP_EJECT_WEAK 
SO_MIDDLE_RAMP_DOWN 
SO_HIGH_DIVERTOR 
SO_LOW_DIVERTOR 
SO_SCOOP_RETRACT 
SO_MAGNO_SAVE 
SO_MAGNO_LOCK 
NUM_SOLENOIDS 

Variable Documentation

◆ BUTTON_NAME

const char* BUTTON_NAME[NUM_BUTTONS]
Initial value:
=
{
"START",
"FIRE",
"MAGNOSAVE"
}

◆ DEFAULT_MESSAGE_PRIORITY

const int DEFAULT_MESSAGE_PRIORITY = 0

◆ FLASHER_NAME

const char* FLASHER_NAME[NUM_FLASHERS]
Initial value:
=
{
"LEFT_RETURN_LANE",
"RIGHT_RETURN_LANE",
"TIME_MACHINE",
"LOCK_ALPHA",
"LOCK_BETA",
"LOCK_GAMMA",
"LOCK_DELTA",
"CRYSTAL"
}

◆ FLIPPER_NAME

const char* FLIPPER_NAME[NUM_FLIPPERS]
Initial value:
=
{
"LOW_LEFT",
"LOW_RIGHT",
"HIGH_RIGHT"
}

◆ SOLENOID_NAME

const char* SOLENOID_NAME[NUM_SOLENOIDS]
Initial value:
=
{
"PLUNGER",
"TROUGH_EJECT",
"KNOCKER",
"LEFT_SLINGSHOT",
"RIGHT_SLINGSHOT",
"LEFT_JET",
"RIGHT_JET",
"BOTTOM_JET",
"LEFT_DROPS_UP",
"RIGHT_DROPS_UP",
"LOCK_RELEASE_1",
"LOCK_RELEASE_2",
"LOCK_RELEASE_3",
"LOCK_RELEASE_A",
"LOCK_RELEASE_B",
"LOCK_RELEASE_C",
"LOCK_RELEASE_D",
"MIDDLE_EJECT",
"TOP_EJECT_STRONG",
"TOP_EJECT_WEAK",
"MIDDLE_RAMP_DOWN",
"HIGH_DIVERTOR",
"LOW_DIVERTOR",
"SCOOP_RETRACT",
"MAGNO_SAVE",
"MAGNO_LOCK"
}