Skip to content

Commit 3276855

Browse files
authored
Merge branch 'main' into main
2 parents c45c716 + 79642c1 commit 3276855

File tree

482 files changed

+3375
-3354
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

482 files changed

+3375
-3354
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Mission Pinball website & documentation
32

43
This repo contains all the source code for [MissionPinball.org](https://missionpinball.org), which also includes all user documentation.

docs/code/BCP_Protocol/ball_end.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
# ball_end (BCP command)
12

2-
## ball_end (BCP command)
3-
4-
Indicates the ball has ended. Note that this does not necessarily mean that the next player’s turn will start, as this player may have an extra ball which means they’ll shoot again.
3+
Indicates the ball has ended. Note that this does not necessarily mean that the next player's turn will start, as this player may have an extra ball which means they'll shoot again.
54

65
## Origin
76
Pin controller
@@ -12,4 +11,3 @@ None
1211
## Response
1312

1413
None
15-

docs/code/BCP_Protocol/ball_start.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# ball_start (BCP command)
32

43
Indicates a new ball has started. It passes the player number (1, 2, etc.) and the ball number as parameters. This command will be sent every time a ball starts, even if the same player is shooting again after an extra ball.

docs/code/BCP_Protocol/device.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# device (BCP command)
32

43
## Origin

docs/code/BCP_Protocol/error.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# error (BCP command)
32
This is a command used to convey error messages back to the origin of a command.
43

docs/code/BCP_Protocol/goodbye.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
21
# goodbye (BCP command)
3-
Lets one side tell the other than its shutting down.
2+
Lets one side tell the other than it's shutting down.
43

54
## Origin
65
Pin controller or media controller

docs/code/BCP_Protocol/hello.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# hello (BCP command)
32
This is the initial handshake command upon first connection. It sends the BCP protocol version that the origin controller speaks.
43

docs/code/BCP_Protocol/index.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# BCP Protocol Specification
32

43
This document describes the Backbox Control Protocol, (or “BCP”), a simple, fast protocol for communications between an implementation of a pinball game controller and a multimedia controller.
@@ -7,11 +6,11 @@ This document describes the Backbox Control Protocol, (or “BCP”), a simple,
76

87
BCP is how the MPF core engine and the MPF media controller communicate.
98

10-
BCP transmits semantically relevant information and attempts to isolate specific behaviors and identifiers on both sides. i.e., the pin controller is responsible for telling the media controller “start multiball mode”. The pin controller doesnt care what the media controller does with that information, and the media controller doesnt care what happened on the pin controller that caused the multiball mode to start.
9+
BCP transmits semantically relevant information and attempts to isolate specific behaviors and identifiers on both sides. i.e., the pin controller is responsible for telling the media controller “start multiball mode”. The pin controller doesn't care what the media controller does with that information, and the media controller doesn't care what happened on the pin controller that caused the multiball mode to start.
1110

1211
BCP is versioned to prevent conflicts. Future versions of the BCP will be designed to be backward compatible to every degree possible. The reference implementation uses a raw TCP socket for communication. On localhost the latency is usually sub-millisecond and on LANs it is under 10 milliseconds. That means that the effect of messages is generally under 1/100th of a second, which should be considered instantaneous from the perspective of human perception.
1312

14-
It is important to note that this document specifies the details of the protocol itself, not necessarily the behaviors of any specific implementations it connects. Thus, there wont be details about fonts or sounds or images or videos or shaders here; those are up to specific implementation being driven.
13+
It is important to note that this document specifies the details of the protocol itself, not necessarily the behaviors of any specific implementations it connects. Thus, there won't be details about fonts or sounds or images or videos or shaders here; those are up to specific implementation being driven.
1514

1615
!!! warning "Infinite Loops Possible"
1716

@@ -94,5 +93,3 @@ The following BCP commands have been defined (and implemented) in MPF:
9493
* [reset_complete](reset_complete.md)
9594
* [switch](switch.md)
9695
* [trigger](trigger.md)
97-
98-

docs/code/BCP_Protocol/machine_variable.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# machine_variable (BCP command)
32
This is a generic "catch all" which sends machine variables to the media controller any time they change. Machine variables are like player variables, except they're maintained machine-wide instead of per-player or per-game. Since the pin controller will most likely track hundreds of variables (with many being internal things that the media controller doesn't care about), it's recommended that the pin controller has a way to filter which machine variables are sent to the media controller.
43

docs/code/BCP_Protocol/mode_list.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# mode_list (BCP command)
32
This message informs the media controller about which modes are currently running. It is sent whenever a mode starts or stops, but only to clients currently [monitoring](monitor_start.md) the `mode` category.
43

0 commit comments

Comments
 (0)