CTD while inspecting spells
Posted: Tue Feb 28, 2006 9:58 pm
CTD while inspecting spells and new PoR gear.
well lets try this.
Stack call
disassembly middle line was pointer
pointed code block from mq2utilities.cpp
line with "szBuff, GetSpellByID" is where the pointer was
If you need more Tell me where and how to get it for you.
GS
well lets try this.
Code: Select all
[MQ2]Adding WndNotification target 'ItemDisplayWindow'
First-chance exception at 0x0303fefe (MQ2Main.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x00000228.
First-chance exception at 0x0303fefe (MQ2Main.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x00000228.
Unhandled exception at 0x0303fefe (MQ2Main.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x00000228.
First-chance exception at 0x0303fefe (MQ2Main.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x00000228.
Unhandled exception at 0x0303fefe (MQ2Main.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x00000228.
Code: Select all
> MQ2Main.dll!ShowSpellSlotInfo(EQData::_SPELL * pSpell=0x037fbbe0, char * szBuffer=0x0012d1ce) Line 2116 + 0x25 C++
MQ2ItemDisplay.dll!ItemDisplayHook::SetSpell_Detour(int SpellID=58702816, bool HasSpellDescr=true, int unknown_int=0) Line 622 C++
Code: Select all
0303FEF5 xor eax,edx
0303FEF7 sub eax,edx
0303FEF9 call GetSpellByID (30336B0h)
0303FEFE mov eax,dword ptr [eax+228h]
0303FF04 mov ecx,eax
0303FF06 mov dl,byte ptr [eax]
0303FF08 inc eax
line with "szBuff, GetSpellByID" is where the pointer was
Code: Select all
case 139: //limit spell this affects
strcat(szBuff, "Limit: Spell(");
// changed this case to work for any future changes by referencing
// the spell array for the name
> strcat(szBuff, GetSpellByID(abs(pSpell->Base[i]))->Name);
if ( pSpell->Base[i] > 0 ) strcat(szBuff, " allowed");
if ( pSpell->Base[i] < 0 ) strcat(szBuff, " excluded");
strcat(szBuff, ")");
break;
If you need more Tell me where and how to get it for you.
GS