feat: add update items from server
This commit is contained in:
parent
0e6d8dec86
commit
03423d0c41
@ -14,6 +14,7 @@ namespace Interlude
|
||||
Item* (__thiscall* NetworkHandlerWrapper::__GetNextItem)(NetworkHandler*, float, int) = 0;
|
||||
User* (__thiscall* NetworkHandlerWrapper::__GetNextCreature)(NetworkHandler*, float, int) = 0;
|
||||
int(__thiscall* NetworkHandlerWrapper::__AddNetworkQueue)(NetworkHandler*, L2::NetworkPacket*) = 0;
|
||||
int(__thiscall* NetworkHandlerWrapper::__RequestItemList)(NetworkHandler*);
|
||||
|
||||
//todo exception
|
||||
Item* NetworkHandlerWrapper::GetNextItem(float_t radius, int prevId) const
|
||||
@ -50,6 +51,14 @@ namespace Interlude
|
||||
return 0;
|
||||
}
|
||||
|
||||
int NetworkHandlerWrapper::RequestItemList() const
|
||||
{
|
||||
if (__RequestItemList && _target) {
|
||||
return (*__RequestItemList)(_target);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void NetworkHandlerWrapper::Init(HMODULE hModule)
|
||||
{
|
||||
void* initAddress = GetProcAddress(hModule, "?Tick@UNetworkHandler@@UAEXM@Z");
|
||||
@ -58,6 +67,7 @@ namespace Interlude
|
||||
|
||||
(FARPROC&)__GetNextItem = GetProcAddress(hModule, "?GetNextItem@UNetworkHandler@@UAEPAUItem@@MH@Z");
|
||||
(FARPROC&)__GetNextCreature = GetProcAddress(hModule, "?GetNextCreature@UNetworkHandler@@UAEPAUUser@@MH@Z");
|
||||
(FARPROC&)__RequestItemList = GetProcAddress(hModule, "?RequestItemList@UNetworkHandler@@UAEHXZ");
|
||||
|
||||
|
||||
(FARPROC&)__AddNetworkQueue = (FARPROC)splice(
|
||||
|
@ -22,15 +22,17 @@ namespace Interlude
|
||||
Item* GetNextItem(float_t radius, int prevId) const;
|
||||
User* GetNextCreature(float_t radius, int prevId) const;
|
||||
User* GetHero() const;
|
||||
int RequestItemList() const;
|
||||
private:
|
||||
|
||||
static void __fastcall __Init_hook(NetworkHandler* This, int /*edx*/, float unk);
|
||||
static int __fastcall __AddNetworkQueue_hook(NetworkHandler* This, int /*edx*/, L2::NetworkPacket* packet);;
|
||||
static int __fastcall __AddNetworkQueue_hook(NetworkHandler* This, int /*edx*/, L2::NetworkPacket* packet);
|
||||
|
||||
static void(__thiscall* __Init)(NetworkHandler*, float);
|
||||
static Item* (__thiscall* __GetNextItem)(NetworkHandler*, float, int);
|
||||
static User* (__thiscall* __GetNextCreature)(NetworkHandler*, float, int);
|
||||
static int(__thiscall* __AddNetworkQueue)(NetworkHandler*, L2::NetworkPacket*);
|
||||
static int(__thiscall* __RequestItemList)(NetworkHandler*);
|
||||
private:
|
||||
static void* originalInitAddress;
|
||||
static NetworkHandler* _target;
|
||||
|
@ -197,6 +197,7 @@ namespace Interlude
|
||||
m_IsNewCycle = false;
|
||||
m_NewItems.clear();
|
||||
m_Items.clear();
|
||||
m_NetworkHandler.RequestItemList();
|
||||
}
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user