HS_BOOL8 CHSHandlerUniverse::Initialize() { // Register handlers. REGISTER_PACKET_HANDLER(PT_GET_UNIVERSE_LIST, &CHSHandlerUniverse::HandleGetUniverseList, true); REGISTER_PACKET_HANDLER(PT_DELETE_UNIVERSE, &CHSHandlerUniverse::HandleDeleteUniverse, false); return true; }
HS_BOOL8 CHSHandlerClass::Initialize() { // Register handlers. REGISTER_PACKET_HANDLER(PT_GET_CLASS_LIST, &CHSHandlerClass::HandleGetClassList, true); REGISTER_PACKET_HANDLER(PT_GET_CLASS_DATA, &CHSHandlerClass::HandleGetClassData, true); REGISTER_PACKET_HANDLER(PT_SET_CLASS_DATA, &CHSHandlerClass::HandleSetClassData, true); REGISTER_PACKET_HANDLER(PT_CREATE_CLASS, &CHSHandlerClass::HandleCreateClass, true); REGISTER_PACKET_HANDLER(PT_DELETE_CLASS, &CHSHandlerClass::HandleDeleteClass, true); return true; }
static PacketHandlerState barrackHandlerCommanderDestroy (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply); /** Change the commander position in the barrack */ static PacketHandlerState barrackHandlerCommanderMove (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply); /** Request for the player to enter in game */ static PacketHandlerState barrackHandlerStartGame (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply); /** Request for the player to logout */ static PacketHandlerState barrackHandlerLogout (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply); /** * @brief barrackHandlers is a global table containing all the barrack handlers. */ const PacketHandler barrackHandlers[PACKET_TYPE_COUNT] = { #define REGISTER_PACKET_HANDLER(packetName, handler) \ [packetName] = {handler, STRINGIFY(packetName)} REGISTER_PACKET_HANDLER(CB_LOGIN, barrackHandlerLogin), REGISTER_PACKET_HANDLER(CB_LOGIN_BY_PASSPORT, barrackHandlerLoginByPassport), REGISTER_PACKET_HANDLER(CB_START_BARRACK, barrackHandlerStartBarrack), REGISTER_PACKET_HANDLER(CB_CURRENT_BARRACK, barrackHandlerCurrentBarrack), REGISTER_PACKET_HANDLER(CB_BARRACKNAME_CHANGE, barrackHandlerBarrackNameChange), REGISTER_PACKET_HANDLER(CB_COMMANDER_CREATE, barrackHandlerCommanderCreate), REGISTER_PACKET_HANDLER(CB_COMMANDER_DESTROY, barrackHandlerCommanderDestroy), REGISTER_PACKET_HANDLER(CB_COMMANDER_MOVE, barrackHandlerCommanderMove), // REGISTER_PACKET_HANDLER(CB_JUMP, barrackHandlerJump), REGISTER_PACKET_HANDLER(CB_START_GAME, barrackHandlerStartGame), REGISTER_PACKET_HANDLER(CB_LOGOUT, barrackHandlerLogout), #undef REGISTER_PACKET_HANDLER }; static PacketHandlerState barrackHandlerLogin(
HS_BOOL8 CHSHandlerLogin::Initialize() { // Register handlers. REGISTER_PACKET_HANDLER(PT_LOGIN, &CHSHandlerLogin::HandleLogin, false); return true; }
static PacketHandlerState zoneHandlerChat (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *replyMsg); /** On commander chat log */ static PacketHandlerState zoneHandlerChatLog (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *replyMsg); /** On commander head rotation */ static PacketHandlerState zoneHandlerHeadRotate (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *replyMsg); /** On commander rotation */ static PacketHandlerState zoneHandlerRotate (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *replyMsg); /** * @brief zoneHandlers is a global table containing all the zone handlers. */ const PacketHandler zoneHandlers[PACKET_TYPE_COUNT] = { #define REGISTER_PACKET_HANDLER(packetName, handler) \ [packetName] = {handler, STRINGIFY(packetName)} REGISTER_PACKET_HANDLER(CZ_CONNECT, zoneHandlerConnect), REGISTER_PACKET_HANDLER(CZ_GAME_READY, zoneHandlerGameReady), REGISTER_PACKET_HANDLER(CZ_JUMP, zoneHandlerJump), REGISTER_PACKET_HANDLER(CZ_ON_AIR, zoneHandlerOnAir), REGISTER_PACKET_HANDLER(CZ_ON_GROUND, zoneHandlerOnGround), REGISTER_PACKET_HANDLER(CZ_KEYBOARD_MOVE, zoneHandlerKeyboardMove), REGISTER_PACKET_HANDLER(CZ_MOVE_STOP, zoneHandlerMoveStop), REGISTER_PACKET_HANDLER(CZ_MOVEMENT_INFO, zoneHandlerMovementInfo), REGISTER_PACKET_HANDLER(CZ_CAMPINFO, zoneHandlerCampInfo), REGISTER_PACKET_HANDLER(CZ_QUICKSLOT_LIST, zoneHandlerCzQuickSlotList), REGISTER_PACKET_HANDLER(CZ_CHANGE_CONFIG, zoneHandlerChangeConfig), REGISTER_PACKET_HANDLER(CZ_LOGOUT, zoneHandlerLogout), REGISTER_PACKET_HANDLER(CZ_ITEM_USE, zoneHandlerItemUse), REGISTER_PACKET_HANDLER(CZ_I_NEED_PARTY, zoneHandlerINeedParty), REGISTER_PACKET_HANDLER(CZ_SKILL_GROUND, zoneHandlerSkillGround), REGISTER_PACKET_HANDLER(CZ_REST_SIT, zoneHandlerRestSit),
// ------ Static declaration ------- /** On log in */ static PacketHandlerState socialHandlerLogin (Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply); // ------ Structure declaration ------- /** * @brief socialHandlers is a global table containing all the social handlers. */ const PacketHandler socialHandlers [PACKET_TYPE_COUNT] = { #define REGISTER_PACKET_HANDLER(packetName, handler) \ [packetName] = {handler, STRINGIFY(packetName)} REGISTER_PACKET_HANDLER(CS_LOGIN, socialHandlerLogin), #undef REGISTER_PACKET_HANDLER }; static PacketHandlerState socialHandlerLogin( Worker *self, Session *session, uint8_t *packet, size_t packetSize, zmsg_t *reply) { #pragma pack(push, 1) struct { char accountName[ACCOUNT_SESSION_ACCOUNT_NAME_MAXSIZE]; char md5[17];