EF_NODRAW

meant to solve invisible equipment. also, revert: `prevent "asynchronous" destruction violation`; more things are off, i'll have to find root cause of process termination (as soon as i'll be able to reproduce)
This commit is contained in:
explorer 2025-02-12 06:26:26 +03:00
parent bb54206c74
commit c6e7a71af1
2 changed files with 801 additions and 801 deletions

View File

@ -46,8 +46,6 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu
void* Local_Player = *(void**)((unsigned __int32)Client_Module + 7498712);
if (Local_Player != nullptr)
{
Global_Variables_Structure* Global_Variables = *(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744);
if (Extra_Commands == -1)
@ -926,7 +924,6 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu
}
Command->Buttons &= ~524288;
}
(decltype(&Redirected_Copy_Command)(Original_Copy_Command_Caller))(Unknown_Parameter, Command);
}

View File

@ -16,6 +16,8 @@ __int32 Get_Identifier(void* Entity, __int8 Raw, __int8 Equipment)
return Identifier;
}
if (*(__int8*)((unsigned __int32)Entity + 221) == 0)
{
static std::unordered_set<__int32> Targets = { 0, 13, 99, 232, 263, 264, 265, 270, 272, 275, 276, 277 };
if (Targets.contains(Identifier) == 1)
@ -29,8 +31,6 @@ __int32 Get_Identifier(void* Entity, __int8 Raw, __int8 Equipment)
Valid = *(__int8*)((unsigned __int32)Entity + 324) == 5;
}
else
{
if (*(__int8*)((unsigned __int32)Entity + 221) == 0)
{
if ((*(__int32*)((unsigned __int32)Entity + 572) - 131088 & 255) == 0)
{
@ -40,7 +40,6 @@ __int32 Get_Identifier(void* Entity, __int8 Raw, __int8 Equipment)
}
}
}
}
if (Valid == 1)
{
@ -72,6 +71,8 @@ __int32 Get_Identifier(void* Entity, __int8 Raw, __int8 Equipment)
else
{
if (Equipment == 1)
{
if ((*(__int32*)((unsigned __int32)Entity + 224) & 32) == 0)
{
static std::unordered_set<__int32> Equipment_List = { 73, 105, 109, 121, 256, 260 };
@ -103,6 +104,8 @@ __int32 Get_Identifier(void* Entity, __int8 Raw, __int8 Equipment)
}
}
}
}
}
return -1;
}