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


