/** * Handler for player data * $Id$ * $HeadURL$ * $Author$ * Created by gr, SLSE, 2017-02-20 */ #pragma once #include namespace EffectShowClient { constexpr int PRE_START_TIME = 5 * 1000; constexpr int POST_END_TIME = 30 * 1000; struct StatusExplosionFiring_t { qint64 remainingTime_s = 0; int remainingShots = 0; int shotsPerVolley = 0; int remainingVolley = 0; }; struct StatusSmokeFiring_t { int remainingDistance_m = 0; int remainingTime_s = 0; }; enum CommandSignal : const unsigned char { FT_SE_CB_SCHALTER_STATUS = 192, FT_SE_CB_FZRSTYP = 240, FT_SE_CB_ERROR_STATUS = 244, FT_SE_CB_UBATT = 255, FT_SE_CB_WERFER_STATUS = 128, // Plus round count (0-48) 128-176 | Plunging fire FT_SE_CB_NK_STATUS = 202, FT_SE_CB_NK_ZUENDUNGS_STATUS = 224, FT_SE_CB_SALVE_ERLEDIGT = 15, FT_SE_CB_SICHERHEIT_WIDERRUFEN = 41, FT_SE_CB_SALVE_UNTERBRECHEN = 42, FT_SE_CB_WERFER_MUNITION = 43 // Plus round count (0-5) 43-91 | Explo }; enum ReturningSignal : const unsigned char { SE_FT_CB_WERFER_MUNITION = 43, // direct round count... so stupid... 43-91 | Smoke SE_FT_CB_SCHALTER_STATUS = 192, SE_FT_CB_FZRSTYP = 240, SE_FT_CB_ERROR_STATUS = 244, SE_FT_CB_UBATT = 255, // Followed by 0-255 = 0V - 51V | dez * 0,2 = V SE_FT_CB_WERFER_STATUS = 144, // Followed by round count (0-48) 144-192 | Plunging fire SE_FT_CB_NK_STATUS = 202, SE_FT_CB_NK_ZUENDUNGS_STATUS = 224, SE_FT_CB_RECHNER_BEENDEN = 213, SE_FT_CB_SALVE_ERLEDIGT = 15, SE_FT_CB_SICHERHEIT_WIDERRUFEN = 41, SE_FT_CB_SALVE_UNTERBROCHEN = 42 }; enum BitPosition : const unsigned char { BIT_POSITION_0 = 1, // 0000 0001 BIT_POSITION_1 = 2, // 0000 0010 BIT_POSITION_2 = 4, // 0000 0100 BIT_POSITION_3 = 8, // 0000 1000 BIT_POSITION_4 = 16, // 0001 0000 BIT_POSITION_5 = 32, // 0010 0000 BIT_POSITION_6 = 64, // 0100 0000 BIT_POSITION_7 = 128 // 1000 0000 }; struct CardRidges { bool cardrige1 = false; bool cardrige2 = false; bool cardrige3 = false; bool cardrige4 = false; bool cardrige5 = false; }; struct SafetyStatus { bool safetyWarning = false; bool temperaturWarning = false; bool emergencyStop = false; bool safetyOn = false; bool loadingBoardWall = false; }; enum class EffectShowControl_e : int { Start, Stop, Continue, Abort, StopTimer }; } Q_DECLARE_METATYPE(EffectShowClient::CardRidges)