mirror of
https://gitlab.com/hashborgir/d2tweaks-rnd2k.git
synced 2024-12-02 13:45:58 +00:00
Cube opening works
This commit is contained in:
parent
56a49ff1e0
commit
d33c619372
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -201,6 +201,7 @@ namespace d2_tweaks {
|
|||||||
MESSAGE_TYPE_ITEM_DROPPED_INFO,
|
MESSAGE_TYPE_ITEM_DROPPED_INFO,
|
||||||
MESSAGE_TYPE_TRANSMUTE,
|
MESSAGE_TYPE_TRANSMUTE,
|
||||||
MESSAGE_TYPE_TRADER_UPDATE,
|
MESSAGE_TYPE_TRADER_UPDATE,
|
||||||
|
MESSAGE_TYPE_INTERACT = 1,
|
||||||
|
|
||||||
MESSAGE_TYPE_COUNT
|
MESSAGE_TYPE_COUNT
|
||||||
};
|
};
|
||||||
@ -225,6 +226,7 @@ namespace d2_tweaks {
|
|||||||
packet_header() : d2_packet_type(0xBB), message_type(0) {}
|
packet_header() : d2_packet_type(0xBB), message_type(0) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct d2_entity_action_cs : packet_header {
|
struct d2_entity_action_cs : packet_header {
|
||||||
uint32_t action;
|
uint32_t action;
|
||||||
uint32_t entity_id;
|
uint32_t entity_id;
|
||||||
|
@ -112,6 +112,9 @@ namespace d2_tweaks {
|
|||||||
|
|
||||||
virtual void left_mouse(int32_t offsetX, int32_t offsetY, bool up, bool& block) = 0;
|
virtual void left_mouse(int32_t offsetX, int32_t offsetY, bool up, bool& block) = 0;
|
||||||
virtual void right_mouse(int32_t offsetX, int32_t offsetY, bool up, bool& block) = 0;
|
virtual void right_mouse(int32_t offsetX, int32_t offsetY, bool up, bool& block) = 0;
|
||||||
|
virtual void middle_mouse(int32_t offsetX, int32_t offsetY, bool up, bool& block) {}
|
||||||
|
virtual void mouse_wheel(int32_t offsetX, int32_t offsetY, bool up, bool& block) {}
|
||||||
|
|
||||||
|
|
||||||
virtual void key_event(int32_t offsetX, int32_t offsetY, uint32_t key, bool up, bool& block) = 0;
|
virtual void key_event(int32_t offsetX, int32_t offsetY, uint32_t key, bool up, bool& block) = 0;
|
||||||
};
|
};
|
||||||
|
@ -81,6 +81,8 @@ namespace d2_tweaks {
|
|||||||
|
|
||||||
virtual bool left_mouse(bool up);
|
virtual bool left_mouse(bool up);
|
||||||
virtual bool right_mouse(bool up);
|
virtual bool right_mouse(bool up);
|
||||||
|
virtual bool middle_mouse(bool up);
|
||||||
|
virtual bool mouse_wheel(bool up);
|
||||||
|
|
||||||
virtual bool key_event(uint32_t key, bool up);
|
virtual bool key_event(uint32_t key, bool up);
|
||||||
};
|
};
|
||||||
|
@ -32,6 +32,9 @@ namespace d2_tweaks {
|
|||||||
|
|
||||||
bool process_left_mouse(bool up);
|
bool process_left_mouse(bool up);
|
||||||
bool process_right_mouse(bool up);
|
bool process_right_mouse(bool up);
|
||||||
|
bool process_middle_mouse(bool up);
|
||||||
|
bool process_mouse_wheel(bool up);
|
||||||
|
|
||||||
|
|
||||||
bool process_key_event(uint32_t key, bool up);
|
bool process_key_event(uint32_t key, bool up);
|
||||||
};
|
};
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <shellapi.h> // For ShellExecute
|
#include <shellapi.h> // For ShellExecute
|
||||||
|
|
||||||
using namespace d2_tweaks::client::modules;
|
using namespace d2_tweaks::client::modules;
|
||||||
bool m_stats_enabled = true;
|
bool m_stats_enabled = false;
|
||||||
bool m_help_enabled = false;
|
bool m_help_enabled = false;
|
||||||
|
|
||||||
d2_tweaks::client::modules::loot_filter_settings_toggle_menu::loot_filter_settings_toggle_menu(token) {
|
d2_tweaks::client::modules::loot_filter_settings_toggle_menu::loot_filter_settings_toggle_menu(token) {
|
||||||
|
@ -190,6 +190,37 @@ bool d2_tweaks::ui::menu::right_mouse(bool up) {
|
|||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool d2_tweaks::ui::menu::middle_mouse(bool up) {
|
||||||
|
auto block = false;
|
||||||
|
|
||||||
|
for (auto control : m_controls) {
|
||||||
|
if (!control->get_enabled() || control->get_parent() != nullptr)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
auto tblock = false;
|
||||||
|
control->middle_mouse(m_x, m_y, up, tblock);
|
||||||
|
block |= tblock;
|
||||||
|
}
|
||||||
|
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool d2_tweaks::ui::menu::mouse_wheel(bool up) {
|
||||||
|
auto block = false;
|
||||||
|
|
||||||
|
for (auto control : m_controls) {
|
||||||
|
if (!control->get_enabled() || control->get_parent() != nullptr)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
auto tblock = false;
|
||||||
|
control->mouse_wheel(m_x, m_y, up, tblock);
|
||||||
|
block |= tblock;
|
||||||
|
}
|
||||||
|
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool d2_tweaks::ui::menu::key_event(uint32_t key, bool up) {
|
bool d2_tweaks::ui::menu::key_event(uint32_t key, bool up) {
|
||||||
auto block = false;
|
auto block = false;
|
||||||
|
|
||||||
|
@ -69,6 +69,10 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <CommCtrl.h> // Include for edit control
|
#include <CommCtrl.h> // Include for edit control
|
||||||
|
|
||||||
|
|
||||||
|
#pragma pack(push, 1)
|
||||||
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
diablo2::structures::unit* g_item1;
|
diablo2::structures::unit* g_item1;
|
||||||
@ -122,20 +126,6 @@ void d2_tweaks::ui::ui_manager::draw() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct D2InventoryGridInfoStrc
|
|
||||||
{
|
|
||||||
BYTE nGridX; //0x00
|
|
||||||
BYTE nGridY; //0x01
|
|
||||||
WORD pad0x02; //0x02
|
|
||||||
int nGridLeft; //0x04
|
|
||||||
int nGridRight; //0x08
|
|
||||||
int nGridTop; //0x0C
|
|
||||||
int nGridBottom; //0x10
|
|
||||||
BYTE nGridBoxWidth; //0x14
|
|
||||||
BYTE nGridBoxHeight; //0x15
|
|
||||||
WORD pad0x16; //0x16
|
|
||||||
};
|
|
||||||
|
|
||||||
// Declare a variable to hold the handle to the edit box control
|
// Declare a variable to hold the handle to the edit box control
|
||||||
HWND g_hEditBox = nullptr;
|
HWND g_hEditBox = nullptr;
|
||||||
// Declare a variable to store the input text
|
// Declare a variable to store the input text
|
||||||
@ -488,10 +478,8 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (wParam == 'G') {
|
if (wParam == 'G') {
|
||||||
const auto g_hoverItem = *reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4);
|
const auto g_hoverItem = *reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4);
|
||||||
@ -560,7 +548,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
switch (msg) {
|
switch (msg) {
|
||||||
case WM_LBUTTONDOWN:
|
case WM_LBUTTONDOWN:
|
||||||
{
|
{
|
||||||
@ -580,6 +567,10 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
auto pInventory = player->inventory;
|
auto pInventory = player->inventory;
|
||||||
|
|
||||||
int32_t gemBagGuid = 0;
|
int32_t gemBagGuid = 0;
|
||||||
|
int32_t boxGuid;
|
||||||
|
uint32_t boxX;
|
||||||
|
uint32_t boxY;
|
||||||
|
|
||||||
const auto g_hoverItem = *reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4);
|
const auto g_hoverItem = *reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4);
|
||||||
|
|
||||||
if (g_hoverItem != nullptr) {
|
if (g_hoverItem != nullptr) {
|
||||||
@ -590,7 +581,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
auto itemtype_record_equiv1 = diablo2::d2_common::get_item_type_record(itemtype_record->equiv1);
|
auto itemtype_record_equiv1 = diablo2::d2_common::get_item_type_record(itemtype_record->equiv1);
|
||||||
auto itemtype_record_equiv2 = diablo2::d2_common::get_item_type_record(itemtype_record->equiv2);
|
auto itemtype_record_equiv2 = diablo2::d2_common::get_item_type_record(itemtype_record->equiv2);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (strncmp(normCode, "ib1", 3) == 0) {
|
if (strncmp(normCode, "ib1", 3) == 0) {
|
||||||
// display Messagebox with normCode
|
// display Messagebox with normCode
|
||||||
@ -629,22 +619,36 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
char* normCode = record1->string_code;
|
char* normCode = record1->string_code;
|
||||||
|
|
||||||
MessageBoxA(0, normCode, "normCode", 0);
|
MessageBoxA(0, normCode, "normCode", 0);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
std::vector<diablo2::structures::unit*> items;
|
std::vector<diablo2::structures::unit*> items;
|
||||||
diablo2::structures::unit* gemBag{};
|
diablo2::structures::unit* gemBag{};
|
||||||
|
|
||||||
// get the gembag item
|
// get the gembag item
|
||||||
for (auto item = player->inventory->first_item; item != nullptr; item = item->item_data->pt_next_item) {
|
for (auto item = player->inventory->first_item; item != nullptr; item = item->item_data->pt_next_item) {
|
||||||
const auto record = diablo2::d2_common::get_item_record(item->data_record_index);
|
const auto record = diablo2::d2_common::get_item_record(item->data_record_index);
|
||||||
|
char* normCode1 = record->string_code;
|
||||||
if (record->type == 101) {
|
if (record->type == 101) {
|
||||||
gemBag = item;
|
gemBag = item;
|
||||||
gemBagGuid = gemBag->guid;
|
gemBagGuid = gemBag->guid;
|
||||||
}
|
}
|
||||||
|
if (strncmp(normCode1, "box", 3) == 0) {
|
||||||
|
diablo2::structures::unit* box = item;
|
||||||
|
boxGuid = box->guid;
|
||||||
|
|
||||||
|
|
||||||
|
// Get the x, y coordinates of the box in the inventory
|
||||||
|
boxX = player->path->x;
|
||||||
|
boxY = player->path->y;
|
||||||
|
|
||||||
|
|
||||||
|
MessageBoxA(0, std::to_string(boxX).c_str(), "boxX", 0);
|
||||||
|
MessageBoxA(0, std::to_string(boxY).c_str(), "boxY", 0);
|
||||||
|
//MessageBoxA(0, std::to_string(boxGuid).c_str(), "boxGuid", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Actual ID to use is 378 for Ruby, but actual row number is 381
|
// Actual ID to use is 378 for Ruby, but actual row number is 381
|
||||||
@ -771,8 +775,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static std::unordered_map<std::string, GemType> exTypes = {
|
static std::unordered_map<std::string, GemType> exTypes = {
|
||||||
{"g25", {-1, 381}}, // Chipped Amethyst
|
{"g25", {-1, 381}}, // Chipped Amethyst
|
||||||
{"g24", {-1, 383}}, // Chipped Diamond
|
{"g24", {-1, 383}}, // Chipped Diamond
|
||||||
@ -880,7 +882,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
// If Cube is open, then if we right click certain item codes, they should be moved to the cube, send transmute packet, and then move the item back to the inventory
|
// If Cube is open, then if we right click certain item codes, they should be moved to the cube, send transmute packet, and then move the item back to the inventory
|
||||||
|
|
||||||
if (currentPage == 0 || currentPage == 3 || currentPage == 4) {
|
if (currentPage == 0 || currentPage == 3 || currentPage == 4) {
|
||||||
@ -892,7 +893,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
|
|
||||||
const GemType& value = gem.second;
|
const GemType& value = gem.second;
|
||||||
if (strncmp(normCode, key, 3) == 0) {
|
if (strncmp(normCode, key, 3) == 0) {
|
||||||
|
|
||||||
char currentPage = diablo2::d2_common::get_item_page(g_hoverItem);
|
char currentPage = diablo2::d2_common::get_item_page(g_hoverItem);
|
||||||
|
|
||||||
// Create the packet to send hover item to cube
|
// Create the packet to send hover item to cube
|
||||||
@ -911,14 +911,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
|
|
||||||
(*reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4)) = nullptr;
|
(*reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4)) = nullptr;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Create the packet to send bag back to inventory
|
// Create the packet to send bag back to inventory
|
||||||
//static d2_tweaks::common::item_move_cs packetItemBack;
|
//static d2_tweaks::common::item_move_cs packetItemBack;
|
||||||
//packetItemBack.item_guid = gemBag->guid;
|
//packetItemBack.item_guid = gemBag->guid;
|
||||||
@ -930,8 +922,6 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
//packetBagBack.target_page = 0;
|
//packetBagBack.target_page = 0;
|
||||||
//diablo2::d2_client::send_to_server(&packetBagBack, sizeof packetBagBack);
|
//diablo2::d2_client::send_to_server(&packetBagBack, sizeof packetBagBack);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
// Create the packet to send bag to cube
|
// Create the packet to send bag to cube
|
||||||
@ -950,24 +940,20 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
// send transmute button packet
|
// send transmute button packet
|
||||||
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
// after transmute, move item and bag back to inventory
|
// after transmute, move item and bag back to inventory
|
||||||
packet.item_guid = gemBag->guid;
|
packet.item_guid = gemBag->guid;
|
||||||
packet.target_page = 0;
|
packet.target_page = 0;
|
||||||
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
||||||
|
|
||||||
|
|
||||||
packet.item_guid = g_hoverItem->guid;
|
packet.item_guid = g_hoverItem->guid;
|
||||||
packet.target_page = 0;
|
packet.target_page = 0;
|
||||||
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (strncmp(normCode, "gcv", 3) == 0 ||
|
if (strncmp(normCode, "gcv", 3) == 0 ||
|
||||||
strncmp(normCode, "gcw", 3) == 0 ||
|
strncmp(normCode, "gcw", 3) == 0 ||
|
||||||
strncmp(normCode, "gcg", 3) == 0 ||
|
strncmp(normCode, "gcg", 3) == 0 ||
|
||||||
@ -1038,19 +1024,15 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
strncmp(normCode, "r32", 3) == 0 ||
|
strncmp(normCode, "r32", 3) == 0 ||
|
||||||
strncmp(normCode, "r33", 3) == 0
|
strncmp(normCode, "r33", 3) == 0
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Move items from cube to inventory
|
// Move items from cube to inventory
|
||||||
const auto player = diablo2::d2_client::get_local_player();
|
const auto player = diablo2::d2_client::get_local_player();
|
||||||
for (auto item = player->inventory->first_item; item != nullptr; item = item->item_data->pt_next_item) {
|
for (auto item = player->inventory->first_item; item != nullptr; item = item->item_data->pt_next_item) {
|
||||||
currentPage = diablo2::d2_common::get_item_page(item);
|
currentPage = diablo2::d2_common::get_item_page(item);
|
||||||
|
|
||||||
|
|
||||||
// display current page in a messagebox
|
// display current page in a messagebox
|
||||||
// MessageBoxA(0, std::to_string(currentPage).c_str(), "Current Page", 0);
|
// MessageBoxA(0, std::to_string(currentPage).c_str(), "Current Page", 0);
|
||||||
|
|
||||||
|
|
||||||
if (currentPage == 3) { // Item is in the cube
|
if (currentPage == 3) { // Item is in the cube
|
||||||
|
|
||||||
// get item record
|
// get item record
|
||||||
const auto record = diablo2::d2_common::get_item_record(item->data_record_index);
|
const auto record = diablo2::d2_common::get_item_record(item->data_record_index);
|
||||||
char* normCode = record->string_code;
|
char* normCode = record->string_code;
|
||||||
@ -1058,7 +1040,8 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
// if normCode strncmp is equal to "ib1", don't send the item back to inventory
|
// if normCode strncmp is equal to "ib1", don't send the item back to inventory
|
||||||
if (strncmp(normCode, "ib1", 3) == 0) {
|
if (strncmp(normCode, "ib1", 3) == 0) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
// display item guid in a messagebox
|
// display item guid in a messagebox
|
||||||
//MessageBoxA(0, std::to_string(item->guid).c_str(), "Item GUID", 0);
|
//MessageBoxA(0, std::to_string(item->guid).c_str(), "Item GUID", 0);
|
||||||
|
|
||||||
@ -1067,18 +1050,528 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
movePacket.target_page = 0; // Move to inventory
|
movePacket.target_page = 0; // Move to inventory
|
||||||
diablo2::d2_client::send_to_server(&movePacket, sizeof movePacket);
|
diablo2::d2_client::send_to_server(&movePacket, sizeof movePacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strncmp(normCode, "ib1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ib3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mez", 3) == 0 ||
|
||||||
|
strncmp(normCode, "me0", 3) == 0 ||
|
||||||
|
strncmp(normCode, "cap", 3) == 0 ||
|
||||||
|
strncmp(normCode, "skp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hlm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "fhl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ghm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "crn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "msk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "qui", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lea", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hla", 3) == 0 ||
|
||||||
|
strncmp(normCode, "stu", 3) == 0 ||
|
||||||
|
strncmp(normCode, "rng", 3) == 0 ||
|
||||||
|
strncmp(normCode, "scl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "chn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "brs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "spl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "plt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "fld", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gth", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ful", 3) == 0 ||
|
||||||
|
strncmp(normCode, "aar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ltp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "buc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "sml", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lrg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "kit", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tow", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gts", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lgl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "vgl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mgl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tgl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hgl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lbt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "vbt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mbt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tbt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hbt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lbl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "vbl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mbl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tbl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hbl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bhm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bsh", 3) == 0 ||
|
||||||
|
strncmp(normCode, "spk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xap", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xkp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xlm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xhl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xhm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xrn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xsk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xui", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xea", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xla", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xtu", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xng", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xcl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xhn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xrs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xpl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xlt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xld", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xth", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xul", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xtp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xuc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xml", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xrg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xit", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xow", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xts", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xlg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xvg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xmg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xtg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xhg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xlb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xvb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xmb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xtb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xhb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "zlb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "zvb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "zmb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ztb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "zhb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xh9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xsh", 3) == 0 ||
|
||||||
|
strncmp(normCode, "xpk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ci0", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ci1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ci2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ci3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uap", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ukp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ulm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "urn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "usk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uui", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uea", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ula", 3) == 0 ||
|
||||||
|
strncmp(normCode, "utu", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ung", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ucl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "urs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "upl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ult", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uld", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uth", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uul", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "utp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uuc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uml", 3) == 0 ||
|
||||||
|
strncmp(normCode, "urg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uit", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uow", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uts", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ulg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uvg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "umg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "utg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ulb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uvb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "umb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "utb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ulc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uvc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "umc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "utc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uhc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "uh9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ush", 3) == 0 ||
|
||||||
|
strncmp(normCode, "upk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dr9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dra", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ba9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "baa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pa9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "paa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ne9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "nea", 3) == 0 ||
|
||||||
|
strncmp(normCode, "drb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "drc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "drd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dre", 3) == 0 ||
|
||||||
|
strncmp(normCode, "drf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bab", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bac", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bad", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bae", 3) == 0 ||
|
||||||
|
strncmp(normCode, "baf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pab", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pac", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pad", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pae", 3) == 0 ||
|
||||||
|
strncmp(normCode, "paf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "neb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "neg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ned", 3) == 0 ||
|
||||||
|
strncmp(normCode, "nee", 3) == 0 ||
|
||||||
|
strncmp(normCode, "nef", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tor", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "axe", 3) == 0 ||
|
||||||
|
strncmp(normCode, "2ax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mpi", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "btx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gix", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wnd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ywn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bwn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gwn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "clb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "scp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gsc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wsp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "spc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mac", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "fla", 3) == 0 ||
|
||||||
|
strncmp(normCode, "whm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mau", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gma", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ssd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "scm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "sbr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "flc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "crs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bsd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lsd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wsd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "2hs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "clm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gis", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bsw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "flb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gsd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dgr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "dir", 3) == 0 ||
|
||||||
|
strncmp(normCode, "kri", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bld", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tkf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bkf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bal", 3) == 0 ||
|
||||||
|
strncmp(normCode, "jav", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pil", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ssp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "glv", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tsp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "spr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "tri", 3) == 0 ||
|
||||||
|
strncmp(normCode, "brn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "spt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pik", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "vou", 3) == 0 ||
|
||||||
|
strncmp(normCode, "scy", 3) == 0 ||
|
||||||
|
strncmp(normCode, "pax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hal", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wsc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "sst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "cst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "bst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "sbw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hbw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lbw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "cbw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "sbb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lbb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "swb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lwb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "lxb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "mxb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hxb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "rxb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gps", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ops", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gpm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "opm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "gpl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "opl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "d33", 3) == 0 ||
|
||||||
|
strncmp(normCode, "g33", 3) == 0 ||
|
||||||
|
strncmp(normCode, "leg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hdm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hfh", 3) == 0 ||
|
||||||
|
strncmp(normCode, "hst", 3) == 0 ||
|
||||||
|
strncmp(normCode, "msf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ha", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "92a", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9mp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9la", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ba", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9bt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ga", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gi", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9yw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9bw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9cl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9sc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9qs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ws", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9sp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ma", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9mt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9fl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wh", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9m9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ss", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9sm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9sb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9fc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9cr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9bs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ls", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "92h", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9cm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9b9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9fb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9dg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9di", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9kr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9bl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9tk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ta", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9bk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9b8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ja", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9pi", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9s9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9gl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ts", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9sr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9tr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9br", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9st", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9p9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9b7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9vo", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9s8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9pa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9h9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8ss", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8ls", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8cs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8bs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8ws", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8sb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8hb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8lb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8cb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8s8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8l8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8sw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8lw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8lx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8mx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8hx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "8rx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "qf1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "qf2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ktr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "wrb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "axf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ces", 3) == 0 ||
|
||||||
|
strncmp(normCode, "clw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "btl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "skr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9ar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9wb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9xf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9cs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9lw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9tw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "9qr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ar", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7xf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7cs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7lw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7tw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7qr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ha", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ax", 3) == 0 ||
|
||||||
|
strncmp(normCode, "72a", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7mp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7la", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ba", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7bt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ga", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gi", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wn", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7yw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7bw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7cl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7sc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7qs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ws", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7sp", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ma", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7mt", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7fl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wh", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7m7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ss", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7sm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7sb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7fc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7cr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7bs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ls", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "72h", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7cm", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7b7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7fb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7dg", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7di", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7kr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7bl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7tk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ta", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7bk", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7b8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ja", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7pi", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7s7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7gl", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7ts", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7sr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7tr", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7br", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7st", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7p7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7o7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7vo", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7s8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7pa", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7h7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "7wc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6ss", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6ls", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6cs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6bs", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6ws", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6sb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6hb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6lb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6cb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6s7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6l7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6sw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6lw", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6lx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6mx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6hx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "6rx", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am1", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am2", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am3", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am4", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am5", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ob9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "oba", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am6", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am7", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am8", 3) == 0 ||
|
||||||
|
strncmp(normCode, "am9", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ama", 3) == 0 ||
|
||||||
|
strncmp(normCode, "obb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "obc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "obd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "obe", 3) == 0 ||
|
||||||
|
strncmp(normCode, "obf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "amb", 3) == 0 ||
|
||||||
|
strncmp(normCode, "amc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "amd", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ame", 3) == 0 ||
|
||||||
|
strncmp(normCode, "amf", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ooc", 3) == 0 ||
|
||||||
|
strncmp(normCode, "eaq", 3) == 0 ||
|
||||||
|
strncmp(normCode, "ebq", 3) == 0 ||
|
||||||
|
|
||||||
if ( strncmp(normCode, "ib1", 3) == 0
|
record->type == 109
|
||||||
|| strncmp(normCode, "ib3", 3) == 0
|
|
||||||
|| strncmp(normCode, "mez", 3) == 0
|
|
||||||
|| strncmp(normCode, "me0", 3) == 0
|
|
||||||
|| record->type == 109
|
|
||||||
|| record->type == 111
|
|| record->type == 111
|
||||||
|| record->type == 112
|
|| record->type == 112
|
||||||
|| record->type == 113
|
|| record->type == 113
|
||||||
@ -1087,31 +1580,87 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
|| record->type == 122
|
|| record->type == 122
|
||||||
|| record->type == 123
|
|| record->type == 123
|
||||||
|| record->type == 125
|
|| record->type == 125
|
||||||
|
|
||||||
|
|| record->type == 4 - 3
|
||||||
|
|| record->type == 5 - 3
|
||||||
|
|| record->type == 17 - 3
|
||||||
|
|| record->type == 18 - 3
|
||||||
|
|| record->type == 21 - 3
|
||||||
|
|| record->type == 26 - 3
|
||||||
|
|| record->type == 27 - 3
|
||||||
|
|| record->type == 28 - 3
|
||||||
|
|| record->type == 29 - 3
|
||||||
|
|| record->type == 30 - 3
|
||||||
|
|| record->type == 31 - 3
|
||||||
|
|| record->type == 32 - 3
|
||||||
|
|| record->type == 33 - 3
|
||||||
|
|| record->type == 34 - 3
|
||||||
|
|| record->type == 35 - 3
|
||||||
|
|| record->type == 36 - 3
|
||||||
|
|| record->type == 37 - 3
|
||||||
|
|| record->type == 38 - 3
|
||||||
|
|| record->type == 39 - 3
|
||||||
|
|| record->type == 40 - 3
|
||||||
|
|| record->type == 41 - 3
|
||||||
|
|| record->type == 47 - 3
|
||||||
|
|| record->type == 48 - 3
|
||||||
|
|| record->type == 49 - 3
|
||||||
|
|| record->type == 50 - 3
|
||||||
|
|
||||||
|
|| record->type == 51 - 3
|
||||||
|
|| record->type == 52 - 3
|
||||||
|
|| record->type == 53 - 3
|
||||||
|
|
||||||
) {
|
) {
|
||||||
// Create the packet
|
|
||||||
static d2_tweaks::common::item_move_cs packet;
|
|
||||||
packet.item_guid = g_hoverItem->guid;
|
|
||||||
|
|
||||||
if (currentPage == 0) { //item is in inventory
|
|
||||||
if (diablo2::d2_client::get_ui_window_state(diablo2::UI_WINDOW_STASH))
|
|
||||||
packet.target_page = 4;
|
|
||||||
|
|
||||||
if (diablo2::d2_client::get_ui_window_state(diablo2::UI_WINDOW_CUBE))
|
struct packet1 {
|
||||||
packet.target_page = 3;
|
uint8_t PacketId; // 0x01
|
||||||
}
|
//uint8_t MsgID; // 0x02
|
||||||
else {
|
uint32_t guid; // 0x06
|
||||||
packet.target_page = 0;
|
uint32_t tx; // 0x07
|
||||||
}
|
uint32_t ty; // 0x09
|
||||||
|
};
|
||||||
|
|
||||||
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
packet1 packet1;
|
||||||
(*reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4)) = nullptr;
|
packet1.PacketId = 0x20;
|
||||||
|
packet1.guid = boxGuid;
|
||||||
|
packet1.tx = player->path->mapx;
|
||||||
|
packet1.ty = player->path->mapy;
|
||||||
|
|
||||||
|
|
||||||
|
diablo2::d2_client::send_to_server(&packet1, sizeof packet1);
|
||||||
|
|
||||||
|
//MessageBoxA(0, std::to_string(boxX).c_str(), "boxX", 0);
|
||||||
|
//MessageBoxA(0, std::to_string(boxY).c_str(), "boxY", 0);
|
||||||
|
//MessageBoxA(0, std::to_string(boxGuid).c_str(), "boxGuid", 0);
|
||||||
|
|
||||||
|
|
||||||
|
// find diablo 2 window and simulate right click at 700x200 coordinates
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Create the packet
|
||||||
|
static d2_tweaks::common::item_move_cs packet;
|
||||||
|
packet.item_guid = g_hoverItem->guid;
|
||||||
|
|
||||||
|
if (currentPage == 0) { //item is in inventory
|
||||||
|
if (diablo2::d2_client::get_ui_window_state(diablo2::UI_WINDOW_STASH))
|
||||||
|
packet.target_page = 4;
|
||||||
|
|
||||||
|
if (diablo2::d2_client::get_ui_window_state(diablo2::UI_WINDOW_CUBE))
|
||||||
|
packet.target_page = 3;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
packet.target_page = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
diablo2::d2_client::send_to_server(&packet, sizeof packet);
|
||||||
|
(*reinterpret_cast<diablo2::structures::unit**>(diablo2::d2_client::get_base() + 0x1158F4)) = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
block = instance.process_right_mouse(false);
|
block = instance.process_right_mouse(false);
|
||||||
@ -1120,10 +1669,42 @@ LRESULT d2_tweaks::ui::ui_manager::wnd_proc(HWND hWnd, UINT msg, WPARAM wParam,
|
|||||||
|
|
||||||
case WM_RBUTTONUP:
|
case WM_RBUTTONUP:
|
||||||
{
|
{
|
||||||
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
block = instance.process_right_mouse(true);
|
block = instance.process_right_mouse(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case WM_MOUSEWHEEL:
|
||||||
|
{
|
||||||
|
short zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
|
||||||
|
if (zDelta > 0) {
|
||||||
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
|
block = instance.process_mouse_wheel(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (zDelta < 0) {
|
||||||
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
|
block = instance.process_mouse_wheel(false);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
case WM_MBUTTONUP:
|
||||||
|
{
|
||||||
|
block = instance.process_middle_mouse(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case WM_MBUTTONDOWN:
|
||||||
|
{
|
||||||
|
diablo2::d2_client::send_to_server_7(0x4F, 0x18, 0, 0);
|
||||||
|
block = instance.process_middle_mouse(false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case WM_SYSKEYDOWN:
|
case WM_SYSKEYDOWN:
|
||||||
case WM_KEYDOWN:
|
case WM_KEYDOWN:
|
||||||
{
|
{
|
||||||
@ -1192,6 +1773,33 @@ bool d2_tweaks::ui::ui_manager::process_left_mouse(bool up) {
|
|||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool d2_tweaks::ui::ui_manager::process_middle_mouse(bool up) {
|
||||||
|
auto block = false;
|
||||||
|
|
||||||
|
for (auto menu : m_menus) {
|
||||||
|
if (!menu->get_enabled())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
block |= menu->middle_mouse(up);
|
||||||
|
}
|
||||||
|
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool d2_tweaks::ui::ui_manager::process_mouse_wheel(bool up) {
|
||||||
|
auto block = false;
|
||||||
|
|
||||||
|
for (auto menu : m_menus) {
|
||||||
|
if (!menu->get_enabled())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
block |= menu->mouse_wheel(up);
|
||||||
|
}
|
||||||
|
|
||||||
|
return block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool d2_tweaks::ui::ui_manager::process_right_mouse(bool up) {
|
bool d2_tweaks::ui::ui_manager::process_right_mouse(bool up) {
|
||||||
auto block = false;
|
auto block = false;
|
||||||
|
|
||||||
@ -1217,3 +1825,5 @@ bool d2_tweaks::ui::ui_manager::process_key_event(uint32_t key, bool up) {
|
|||||||
|
|
||||||
return block;
|
return block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
Loading…
Reference in New Issue
Block a user