Project 1999

Go Back   Project 1999 > Blue Community > Blue Server Chat

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #11  
Old 12-02-2016, 10:05 AM
Secrets Secrets is offline
VIP / Contributor

Secrets's Avatar

Join Date: Oct 2009
Posts: 1,354
Default

Quote:
Originally Posted by paulgiamatti [You must be logged in to view images. Log in or Register.]
Ah, that's an official Daybreak thing? That certainly works as evidence.
Nope, it's an emulator for EQMac, which has a client stuck at early PoP.

Also see the client disassembly from the binary:

Code:
int __cdecl do_hidecorpses(EQPlayer *a1, char *a2)
{
  const char *v2; // eax@2
  const char *v3; // eax@2
  const char *v4; // eax@2
  int result; // eax@2
  EQPlayer *v6; // ebx@4
  char *v7; // eax@4
  const char *v8; // eax@5
  const char *v9; // eax@9
  char *v10; // eax@13
  const char *v11; // eax@14
  const char *v12; // eax@18
  int v13; // esi@19
  const char *v14; // eax@26
  char v15; // [sp+10h] [bp-58h]@9

  if ( *a2 )
  {
    v6 = EQPlayer::top;
    v7 = (char *)StringTable::getString(g_stringTable, 0x3395u, 0);
    if ( UTF8_stricmp(a2, v7) )
    {
      v10 = (char *)StringTable::getString(g_stringTable, 0x3397u, 0);
      if ( UTF8_stricmp(a2, v10) )
      {
        v14 = (const char *)StringTable::getString(g_stringTable, 0x3399u, 0);
        for ( result = CEverQuest::dsp_chat(EverQuestObject, v14, 15, 1); v6; v6 = (EQPlayer *)*((_DWORD *)v6 + 31) )
        {
          result = *((_BYTE *)v6 + 168) - 2;
          if ( (unsigned __int8)result <= 1u )
          {
            result = *((_DWORD *)v6 + 33);
            if ( result )
            {
              if ( *(_DWORD *)result )
              {
                *(_DWORD *)(result + 440) = 0;
                result = t3dSetActorInvisible(**((_DWORD **)v6 + 33), 0);
              }
            }
          }
        }
      }
      else
      {
        v11 = (const char *)StringTable::getString(g_stringTable, 0x3398u, 0);
        for ( result = CEverQuest::dsp_chat(EverQuestObject, v11, 15, 1); v6; v6 = (EQPlayer *)*((_DWORD *)v6 + 31) )
        {
          result = *((_BYTE *)v6 + 168) - 2;
          if ( (unsigned __int8)result <= 1u )
          {
            v12 = (const char *)CEverQuest::stripName(EverQuestObject, (char *)v6 + 1);
            strcpy(&v15, v12);
            result = stricmp(&v15, (const char *)LocalPlayer + 1);
            if ( result )
            {
              v13 = 0;
              do
              {
                result = stricmp(&v15, (const char *)LocalPlayer + 1);
                if ( result )
                {
                  if ( EQ_PC::IsAGroupMember(LocalPC, &v15) )
                  {
                    result = *((_DWORD *)v6 + 33);
                    if ( result && *(_DWORD *)result )
                    {
                      *(_DWORD *)(result + 440) = 0;
                      result = t3dSetActorInvisible(**((_DWORD **)v6 + 33), 0);
                    }
                  }
                  else
                  {
                    result = *((_DWORD *)v6 + 33);
                    if ( result && *(_DWORD *)result )
                    {
                      *(_DWORD *)(result + 440) = 1;
                      result = t3dSetActorInvisible(**((_DWORD **)v6 + 33), 1);
                    }
                  }
                }
                ++v13;
              }
              while ( v13 != 6 );
            }
          }
        }
      }
    }
    else
    {
      v8 = (const char *)StringTable::getString(g_stringTable, 0x3396u, 0);
      for ( result = CEverQuest::dsp_chat(EverQuestObject, v8, 15, 1); v6; v6 = (EQPlayer *)*((_DWORD *)v6 + 31) )
      {
        result = *((_BYTE *)v6 + 168) - 2;
        if ( (unsigned __int8)result <= 1u )
        {
          v9 = (const char *)CEverQuest::stripName(EverQuestObject, (char *)v6 + 1);
          strcpy(&v15, v9);
          result = stricmp(&v15, (const char *)LocalPlayer + 1);
          if ( result )
          {
            result = *((_DWORD *)v6 + 33);
            if ( result )
            {
              if ( *(_DWORD *)result )
              {
                *(_DWORD *)(result + 440) = 1;
                result = t3dSetActorInvisible(**((_DWORD **)v6 + 33), 1);
              }
            }
          }
        }
      }
    }
  }
  else
  {
    v2 = (const char *)StringTable::getString(g_stringTable, 0x3392u, 0);
    CEverQuest::dsp_chat(EverQuestObject, v2);
    v3 = (const char *)StringTable::getString(g_stringTable, 0x3393u, 0);
    CEverQuest::dsp_chat(EverQuestObject, v3);
    v4 = (const char *)StringTable::getString(g_stringTable, 0x3394u, 0);
    result = CEverQuest::dsp_chat(EverQuestObject, v4);
  }
  return result;
}
__________________
Engineer of Things and Stuff, Wearer of Many Hats

“Knowing yourself is the beginning of all wisdom.” — Aristotle
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:58 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.