From d605691a3fe219cde175eb68239bea91ae2d91fd Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Mon, 9 Mar 2009 13:26:59 -0600 Subject: Send the correct packet for the NPC close button Both packets do the same, but we should be explicit anyways. Also, seperate out NPC client packets. --- src/gui/npc_text.cpp | 7 +++++++ src/gui/npc_text.h | 2 ++ src/net/npchandler.cpp | 2 +- src/net/protocol.h | 18 ++++++++++-------- 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/gui/npc_text.cpp b/src/gui/npc_text.cpp index 954f22d8..61f3e510 100644 --- a/src/gui/npc_text.cpp +++ b/src/gui/npc_text.cpp @@ -126,6 +126,13 @@ void NpcTextDialog::nextDialog(int npcID) outMsg.writeInt32(npcID); } +void NpcTextDialog::closeDialog(int npcID) +{ + MessageOut outMsg(mNetwork); + outMsg.writeInt16(CMSG_NPC_CLOSE); + outMsg.writeInt32(npcID); +} + void NpcTextDialog::widgetResized(const gcn::Event &event) { Window::widgetResized(event); diff --git a/src/gui/npc_text.h b/src/gui/npc_text.h index 019c22a5..f030115b 100644 --- a/src/gui/npc_text.h +++ b/src/gui/npc_text.h @@ -79,6 +79,8 @@ class NpcTextDialog : public Window, public gcn::ActionListener void nextDialog(int npcID = current_npc); + void closeDialog(int npcID = current_npc); + /** * Called when resizing the window. * diff --git a/src/net/npchandler.cpp b/src/net/npchandler.cpp index 487b358f..08ea8506 100644 --- a/src/net/npchandler.cpp +++ b/src/net/npchandler.cpp @@ -78,7 +78,7 @@ void NPCHandler::handleMessage(MessageIn *msg) npcTextDialog->showCloseButton(); // Otherwise, move on as an empty dialog doesn't help else - npcTextDialog->nextDialog(id); + npcTextDialog->closeDialog(id); break; case SMSG_NPC_NEXT: diff --git a/src/net/protocol.h b/src/net/protocol.h index e9053451..4b470d12 100644 --- a/src/net/protocol.h +++ b/src/net/protocol.h @@ -121,30 +121,32 @@ #define CMSG_TRADE_RESPONSE 0x00e6 #define CMSG_ITEM_PICKUP 0x009f #define CMSG_MAP_LOADED 0x007d -#define CMSG_NPC_BUY_REQUEST 0x00c8 -#define CMSG_NPC_BUY_SELL_REQUEST 0x00c5 #define CMSG_CHAT_MESSAGE 0x008c #define CMSG_CHAT_WHISPER 0x0096 #define CMSG_CHAT_ANNOUNCE 0x0099 #define CMSG_CHAT_WHO 0x00c1 -#define CMSG_NPC_LIST_CHOICE 0x00b8 -#define CMSG_NPC_NEXT_REQUEST 0x00b9 -#define CMSG_NPC_SELL_REQUEST 0x00c9 -#define CMSG_NPC_INT_RESPONSE 0x0143 -#define CMSG_NPC_STR_RESPONSE 0x01d5 #define CMSG_SKILL_LEVELUP_REQUEST 0x0112 #define CMSG_STAT_UPDATE_REQUEST 0x00bb #define CMSG_TRADE_ITEM_ADD_REQUEST 0x00e8 #define CMSG_TRADE_CANCEL_REQUEST 0x00ed #define CMSG_TRADE_ADD_COMPLETE 0x00eb #define CMSG_TRADE_OK 0x00ef -#define CMSG_NPC_TALK 0x0090 #define CMSG_TRADE_REQUEST 0x00e4 #define CMSG_PLAYER_INVENTORY_USE 0x00a7 #define CMSG_PLAYER_INVENTORY_DROP 0x00a2 #define CMSG_PLAYER_EQUIP 0x00a9 #define CMSG_PLAYER_UNEQUIP 0x00ab +#define CMSG_NPC_TALK 0x0090 +#define CMSG_NPC_NEXT_REQUEST 0x00b9 +#define CMSG_NPC_CLOSE 0x0146 +#define CMSG_NPC_LIST_CHOICE 0x00b8 +#define CMSG_NPC_INT_RESPONSE 0x0143 +#define CMSG_NPC_STR_RESPONSE 0x01d5 +#define CMSG_NPC_BUY_SELL_REQUEST 0x00c5 +#define CMSG_NPC_BUY_REQUEST 0x00c8 +#define CMSG_NPC_SELL_REQUEST 0x00c9 + #define CMSG_PARTY_CREATE 0x00f9 #define CMSG_PARTY_INVITE 0x00fc #define CMSG_PARTY_INVITED 0x00ff -- cgit v1.2.3-70-g09d2