From Windbg
Code: Select all
(5ac.24c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=980c0e71 ebx=00000000 ecx=00000000 edx=0708e460 esi=980c0e71 edi=980c0e71
eip=0302e063 esp=0012dcf8 ebp=0012e514 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
*** WARNING: Unable to verify checksum for D:\Everquest\MQ2\Release\MQ2Main.dll
MQ2Main!GetSpawnType+0x3:
0302e063 0fb686e4010000 movzx eax,byte ptr [esi+0x1e4] ds:0023:980c1055=??
0:000> r
eax=980c0e71 ebx=00000000 ecx=00000000 edx=0708e460 esi=980c0e71 edi=980c0e71
eip=0302e063 esp=0012dcf8 ebp=0012e514 iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246
MQ2Main!GetSpawnType+0x3:
0302e063 0fb686e4010000 movzx eax,byte ptr [esi+0x1e4] ds:0023:980c1055=??
0:000> kv
ChildEBP RetAddr Args to Child
0012dcf8 0302e496 00000000 01780048 00000001 MQ2Main!GetSpawnType+0x3 (FPO: [0,0,0]) (CONV: cdecl) [d:\everquest\mq2\mq2main\mq2inlines.h @ 36]
0012e514 0302e7b3 00000001 00000000 01780048 MQ2Main!EQPlayerHook::SetNameSpriteState+0x36 (CONV: thiscall) [d:\everquest\mq2\mq2main\mq2spawns.cpp @ 186]
0012e544 0302e7fb 0708e460 0708e460 004acb1c MQ2Main!EQPlayerHook::EQPlayer_ExtraDetour+0x13 (CONV: thiscall) [d:\everquest\mq2\mq2main\mq2spawns.cpp @ 126]
*** WARNING: Unable to verify checksum for C:\Program Files\Sony\EverQuest Trilogy\eqgame.exe
*** ERROR: Module load completed but symbols could not be loaded for C:\Program Files\Sony\EverQuest Trilogy\eqgame.exe
0012e550 004acb1c 00000000 00000000 00000001 MQ2Main!EQPlayerHook::EQPlayer_Detour+0x2b (FPO: [5,1,0]) (CONV: thiscall) [d:\everquest\mq2\mq2main\mq2spawns.cpp @ 145]
WARNING: Stack unwind information not available. Following frames may be wrong.
0012e65c 004ae3dd 0090021c 00400000 0073efa8 eqgame+0xacb1c
0073efa8 00000000 00000000 00000000 00000000 eqgame+0xae3dd
Code: Select all
/*****************************************************************************
MQ2Main.dll: MacroQuest2's extension DLL for EverQuest
Copyright (C) 2002-2003 Plazmic, 2003-2004 Lax
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as published by
the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
******************************************************************************/
static inline EQPlayer *GetSpawnByID(DWORD dwSpawnID)
{
if (dwSpawnID<3000)
return ppEQP_IDArray[dwSpawnID];
return 0;
}
static inline PSPELL GetSpellByID(DWORD dwSpellID)
{
if (dwSpellID==0 || dwSpellID >= TOTAL_SPELL_COUNT)
return 0;
return &(*((PSPELLMGR)pSpellMgr)->Spells[dwSpellID]);
}
#define GetMaxMana() pCharData->Max_Mana()
#define GetMaxHPS() pCharData->Max_HP(0)
#define GetCurHPS() pCharData->Cur_HP(0)
#define GetMaxEndurance() pCharData->Max_Endurance()
static inline eSpawnType GetSpawnType(PSPAWNINFO pSpawn)
{
[color=red]switch(pSpawn->Type)[/color]
{
case SPAWN_PLAYER:
{
if (strstr(pSpawn->Name,"s_Mount"))
{
return MOUNT;
}
return PC;
}

