diff options
Diffstat (limited to 'src/net/eathena')
-rw-r--r-- | src/net/eathena/maphandler.cpp | 16 | ||||
-rw-r--r-- | src/net/eathena/maphandler.h | 5 | ||||
-rw-r--r-- | src/net/eathena/packetsout.inc | 7 |
3 files changed, 28 insertions, 0 deletions
diff --git a/src/net/eathena/maphandler.cpp b/src/net/eathena/maphandler.cpp index 433e95d36..7054949f2 100644 --- a/src/net/eathena/maphandler.cpp +++ b/src/net/eathena/maphandler.cpp @@ -25,6 +25,8 @@ #include "debug.h" +extern int packetVersion; + namespace EAthena { @@ -50,4 +52,18 @@ void MapHandler::destroyInstance() const outMsg.writeInt32(3, "command"); } +void MapHandler::camera(int action, + float range, + float rotation, + float latitude) const +{ + if (packetVersion < 20160525) + return; + createOutPacket(CMSG_CAMERA_INFO); + outMsg.writeInt8(action, "action"); + outMsg.writeFloat(range, "range"); + outMsg.writeFloat(rotation, "rotation"); + outMsg.writeFloat(latitude, "latitude"); +} + } // namespace EAthena diff --git a/src/net/eathena/maphandler.h b/src/net/eathena/maphandler.h index e8457115e..52f50add4 100644 --- a/src/net/eathena/maphandler.h +++ b/src/net/eathena/maphandler.h @@ -38,6 +38,11 @@ class MapHandler final : public Net::MapHandler void blockPlayCancel() const override final; void destroyInstance() const override final; + + void camera(int action, + float range, + float rotation, + float latitude) const override final; }; } // namespace EAthena diff --git a/src/net/eathena/packetsout.inc b/src/net/eathena/packetsout.inc index ca3b0b2d4..7bb87d36d 100644 --- a/src/net/eathena/packetsout.inc +++ b/src/net/eathena/packetsout.inc @@ -352,6 +352,7 @@ packet(CMSG_INVENTORY_EXPAND_REJECT, 0x0000, 0, nullptr); packet(CMSG_SKILL_USE_BEING_START, 0x0000, 0, nullptr); packet(CMSG_SKILL_USE_BEING_STOP, 0x0000, 0, nullptr); packet(CMSG_NPC_BARTER_CLOSE, 0x0000, 0, nullptr); +packet(CMSG_CAMERA_INFO, 0x0000, 0, nullptr); #else // 20040713 if (packetVersion >= 20040713) @@ -1377,6 +1378,12 @@ if (packetVersion >= 20160330) packet(CMSG_MAIL2_SEND_MAIL, 0x0a6e, -1, clif->pRodexSendMail); } +// 20160525 +if (packetVersion >= 20160525) +{ + packet(CMSG_CAMERA_INFO, 0x0a77, 15, clif->pCameraInfo); +} + // 20170419 if (packetVersion >= 20170419) { |