STRINGY_ENUM(State, STATE_COUNT,
STATE_UNCONNECTED, /**< not yet connected */
STATE_LISTENING, /**< not yet connected, but listening for connections */
STATE_CONNECTED, /**< established a connection and sent (or expecting) handshake */
STATE_NEGOTIATED, /**< compatible protocols have been negotiated (via handshake) */
STATE_INITIALIZED, /**< has received game settings (still in lobby) */
STATE_LAUNCH_READY, /**< client is ready to launch game (when given the O.K.) */
STATE_LAUNCHING, /**< launching game */
STATE_READY, /**< ready to begin play */
STATE_PLAY, /**< game started (normal play state) */
STATE_PAUSED, /**< game paused */
STATE_QUIT, /**< quit game requested/initiated */
STATE_END /**< game terminated */
);