diff --git a/src/object/client/CClientMoveUpdate.cpp b/src/object/client/CClientMoveUpdate.cpp new file mode 100644 index 0000000..1ca03be --- /dev/null +++ b/src/object/client/CClientMoveUpdate.cpp @@ -0,0 +1,21 @@ +#include "object/client/CClientMoveUpdate.hpp" + +CDataStore& operator>>(CDataStore& msg, CClientMoveUpdate& move) { + msg >> move.status; + + msg.Get(move.float60); + msg.Get(move.float64); + msg.Get(move.float68); + msg.Get(move.float6C); + msg.Get(move.float70); + msg.Get(move.float74); + msg.Get(move.float78); + msg.Get(move.float7C); + msg.Get(move.float80); + + if (move.status.moveFlags & 0x8000000) { + msg >> move.spline; + } + + return msg; +} diff --git a/src/object/client/CClientMoveUpdate.hpp b/src/object/client/CClientMoveUpdate.hpp new file mode 100644 index 0000000..2cde73e --- /dev/null +++ b/src/object/client/CClientMoveUpdate.hpp @@ -0,0 +1,25 @@ +#ifndef OBJECT_CLIENT_C_CLIENT_MOVE_UPDATE_HPP +#define OBJECT_CLIENT_C_CLIENT_MOVE_UPDATE_HPP + +#include "object/movement/CMovementStatus.hpp" +#include "object/movement/CMoveSpline.hpp" +#include + +struct CClientMoveUpdate { + CMovementStatus status; + float float60; + float float64; + float float68; + float float6C; + float float70; + float float74; + float float78; + float float7C; + float float80; + // TODO + CMoveSpline spline; +}; + +CDataStore& operator>>(CDataStore& msg, CClientMoveUpdate& move); + +#endif