mirror of
https://github.com/Caraxi/mare.client.git
synced 2025-12-12 15:07:22 +01:00
fix global draw block for different object quantity
This commit is contained in:
parent
8894795564
commit
ac9db3052d
2 changed files with 19 additions and 9 deletions
|
|
@ -350,24 +350,34 @@ public class DalamudUtilService : IHostedService
|
|||
if (!IsAnythingDrawing)
|
||||
{
|
||||
var gameObj = (GameObject*)p.Address;
|
||||
bool isDrawing = gameObj->RenderFlags == 0b100000000000;
|
||||
if (!isDrawing)
|
||||
var drawObj = gameObj->DrawObject;
|
||||
bool isDrawing = false;
|
||||
if ((nint)drawObj != IntPtr.Zero)
|
||||
{
|
||||
var drawObj = gameObj->DrawObject;
|
||||
if ((nint)drawObj != IntPtr.Zero)
|
||||
isDrawing = gameObj->RenderFlags == 0b100000000000;
|
||||
if (!isDrawing)
|
||||
{
|
||||
isDrawing = ((CharacterBase*)drawObj)->HasModelInSlotLoaded != 0;
|
||||
if (!isDrawing)
|
||||
{
|
||||
isDrawing = ((CharacterBase*)drawObj)->HasModelFilesInSlotLoaded != 0;
|
||||
if (isDrawing)
|
||||
{
|
||||
_logger.LogTrace("Global draw block triggered by {name} due to HasModelFilesInSlotLoaded", p.Name.ToString());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogTrace("Global draw block triggered by {name} due to HasModelInSlotLoaded", p.Name.ToString());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogTrace("Global draw block triggered by {name} due to RenderFlags", p.Name.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
if (isDrawing)
|
||||
{
|
||||
IsAnythingDrawing = true;
|
||||
}
|
||||
IsAnythingDrawing |= isDrawing;
|
||||
}
|
||||
return (p.Name.ToString(), p.Address);
|
||||
}, StringComparer.Ordinal));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue