|
|
Bomberman Multiplayer
Authoritative multiplayer networking layer for Bomberman.
|
Authoritative in-match state for one accepted player seat. More...
#include <ServerState.h>
Public Attributes | |
| uint8_t | playerId = 0 |
| sim::TilePos | pos {} |
| bool | alive = true |
| bool | inputLocked = false |
| uint8_t | activeBombCount = 0 |
| uint8_t | maxBombs = sim::kDefaultPlayerMaxBombs |
| uint8_t | bombRange = sim::kDefaultPlayerBombRange |
| uint32_t | invincibleUntilTick = 0 |
| uint32_t | speedBoostUntilTick = 0 |
| uint32_t | bombRangeBoostUntilTick = 0 |
| uint32_t | maxBombsBoostUntilTick = 0 |
| std::array< InputRingEntry, kServerInputBufferSize > | inputRing {} |
Indexed by seq % @ref kServerInputBufferSize. | |
| uint32_t | lastReceivedInputSeq = 0 |
| uint32_t | lastProcessedInputSeq = 0 |
| uint8_t | lastAppliedButtons = 0 |
| Reused when the next sequence misses its deadline. | |
| uint8_t | appliedButtons = 0 |
| uint8_t | previousTickButtons = 0 |
| bool | inputTimelineStarted = false |
| True once the fixed-delay consume timeline has been armed. | |
| uint32_t | nextConsumeServerTick = 0 |
| uint16_t | consecutiveTooFarAheadBatches = 0 |
| uint16_t | consecutiveInputGaps = 0 |
| uint32_t | nextTooFarAheadWarnTick = 0 |
| uint32_t | nextGapWarnTick = 0 |
Authoritative in-match state for one accepted player seat.
The slot lives inside ServerState::matchPlayers and exists only for currently active in-match state. Live peer ownership stays in PeerSession, and current accepted-player metadata lives in PlayerSlot.