Add bag bar drag-to-reorder, fix three wrong WotLK opcodes

Bag bar: left-click drag bags to swap positions using CMSG_SWAP_ITEM
with INVENTORY_SLOT_BAG_0 (255). Local optimistic swap for instant
feedback. Camera controller now respects ImGui WantCaptureMouse.
Vendor auto-open bags only triggers once per session.

Fix opcodes: CMSG_GAMEOBJECT_USE 0x01B→0x0B1 (typo caused
SMSG_FORCEACTIONSHOW spam), CMSG_CANCEL_AURA 0x033→0x136,
SMSG_SELL_ITEM 0x1A4→0x1A1.
This commit is contained in:
Kelsi 2026-02-19 22:34:22 -08:00
parent 328ec9ea78
commit 38ad368c82
9 changed files with 168 additions and 48 deletions

View file

@ -69,6 +69,7 @@ private:
bool editingOfficerNote_ = false;
char guildNoteEditBuffer_[256] = {0};
bool refocusChatInput = false;
bool vendorBagsOpened_ = false; // Track if bags were auto-opened for current vendor session
bool chatWindowLocked = true;
ImVec2 chatWindowPos_ = ImVec2(0.0f, 0.0f);
bool chatWindowPosInit_ = false;
@ -223,9 +224,11 @@ private:
int actionBarDragSlot_ = -1;
GLuint actionBarDragIcon_ = 0;
// Bag bar textures
// Bag bar state
GLuint backpackIconTexture_ = 0;
GLuint emptyBagSlotTexture_ = 0;
int bagBarPickedSlot_ = -1; // Visual drag in progress (-1 = none)
int bagBarDragSource_ = -1; // Mouse pressed on this slot, waiting for drag or click (-1 = none)
// Chat settings
bool chatShowTimestamps_ = false;