CTD with 20071008 zip
Posted: Tue Oct 16, 2007 11:54 pm
I get a CTD anytime I try and click a link to the spell scroll for Speed of Ellowind Rk. II.
It looks like it crashes because it thinks it needs to display a DD dmg component of the spell, which it does not have.
I've re-downloaded the zip and rebuilt everything and it still crashes in the same spot every time. Debug info is attached.
Debug spew output:
The thread 0x4CC has exited with code 0 (0x0).
nonexclusive mode
[MQ2]MQ2Map::OnAddSpawn(Rejection) = 13255
[MQ2]MQ2Map::OnRemoveSpawn(Kias) = 12787
[MQ2]MQ2Map::OnRemoveSpawn(Lebtik's_corpse0) = 12961
[MQ2]MQ2Map::OnRemoveSpawn(Nicknick) = 12959
[MQ2]count = 192
[MQ2]count = 20
[MQ2]Adding WndNotification target 'ItemDisplayWindow'
[MQ2]Adding WndNotification target 'IDW_ItemDescriptionTab'
[MQ2]Adding WndNotification target 'IDW_ItemLoreTab'
Disassembly:
0154CFE0 je __output+22Dh (0154cde3)
0154CFE6 dec eax
0154CFE7 dec eax
0154CFE8 je __output+4E9h (0154d09f)
0154CFEE sub eax,3
0154CFF1 jne __output+60Ah (0154d1c0)
0154CFF7 mov dword ptr [ebp-2Ch],27h
0154CFFE jmp __output+486h (0154d03c)
0154D000 sub eax,ecx
0154D002 sar eax,1
0154D004 jmp __output+607h (0154d1bd)
0154D009 test ecx,ecx
0154D00B jne __output+460h (0154d016)
0154D00D mov ecx,dword ptr [___nullstring (0157eae8)]
0154D013 mov dword ptr [ebp-8],ecx
0154D016 mov eax,ecx
0154D018 mov edx,esi
0154D01A dec esi
0154D01B test edx,edx
0154D01D je __output+471h (0154d027)
crash point------>0154D01F cmp byte ptr [eax],0
0154D022 je __output+471h (0154d027)
0154D024 inc eax
0154D025 jmp __output+462h (0154d018)
0154D027 sub eax,ecx
0154D029 jmp __output+607h (0154d1bd)
0154D02E mov dword ptr [ebp-10h],8
0154D035 mov dword ptr [ebp-2Ch],7
0154D03C test byte ptr [ebp-4],80h
0154D040 mov dword ptr [ebp-0Ch],10h
0154D047 je __output+4F0h (0154d0a6)
0154D049 mov al,byte ptr [ebp-2Ch]
0154D04C mov byte ptr [ebp-16h],30h
0154D050 add al,51h
0154D052
Call Stack:
MQ2MAIN! _output + 1129 bytes
MQ2MAIN! sprintf + 46 bytes
ShowSpellSlotInfo(EQData::_SPELL * 0x07218428, char * 0x00126965) line 2614 + 5 bytes
MQ2ITEMDISPLAY! ItemDisplayHook::ItemSetSpell_Detour(int,bool,int) + 1677 bytes
MQ2ITEMDISPLAY! ItemDisplayHook::SetItem_Detour(class EQClasses::EQ_Item *,bool) + 8477 bytes
EQGAME! 005a4cb5()
EQGAME! 00484e1b()
EQGAME! 00631f70()
e1300d3b()
MQ2Utilities.cpp:
It looks like it crashes because it thinks it needs to display a DD dmg component of the spell, which it does not have.
I've re-downloaded the zip and rebuilt everything and it still crashes in the same spot every time. Debug info is attached.
Debug spew output:
The thread 0x4CC has exited with code 0 (0x0).
nonexclusive mode
[MQ2]MQ2Map::OnAddSpawn(Rejection) = 13255
[MQ2]MQ2Map::OnRemoveSpawn(Kias) = 12787
[MQ2]MQ2Map::OnRemoveSpawn(Lebtik's_corpse0) = 12961
[MQ2]MQ2Map::OnRemoveSpawn(Nicknick) = 12959
[MQ2]count = 192
[MQ2]count = 20
[MQ2]Adding WndNotification target 'ItemDisplayWindow'
[MQ2]Adding WndNotification target 'IDW_ItemDescriptionTab'
[MQ2]Adding WndNotification target 'IDW_ItemLoreTab'
Disassembly:
0154CFE0 je __output+22Dh (0154cde3)
0154CFE6 dec eax
0154CFE7 dec eax
0154CFE8 je __output+4E9h (0154d09f)
0154CFEE sub eax,3
0154CFF1 jne __output+60Ah (0154d1c0)
0154CFF7 mov dword ptr [ebp-2Ch],27h
0154CFFE jmp __output+486h (0154d03c)
0154D000 sub eax,ecx
0154D002 sar eax,1
0154D004 jmp __output+607h (0154d1bd)
0154D009 test ecx,ecx
0154D00B jne __output+460h (0154d016)
0154D00D mov ecx,dword ptr [___nullstring (0157eae8)]
0154D013 mov dword ptr [ebp-8],ecx
0154D016 mov eax,ecx
0154D018 mov edx,esi
0154D01A dec esi
0154D01B test edx,edx
0154D01D je __output+471h (0154d027)
crash point------>0154D01F cmp byte ptr [eax],0
0154D022 je __output+471h (0154d027)
0154D024 inc eax
0154D025 jmp __output+462h (0154d018)
0154D027 sub eax,ecx
0154D029 jmp __output+607h (0154d1bd)
0154D02E mov dword ptr [ebp-10h],8
0154D035 mov dword ptr [ebp-2Ch],7
0154D03C test byte ptr [ebp-4],80h
0154D040 mov dword ptr [ebp-0Ch],10h
0154D047 je __output+4F0h (0154d0a6)
0154D049 mov al,byte ptr [ebp-2Ch]
0154D04C mov byte ptr [ebp-16h],30h
0154D050 add al,51h
0154D052
Call Stack:
MQ2MAIN! _output + 1129 bytes
MQ2MAIN! sprintf + 46 bytes
ShowSpellSlotInfo(EQData::_SPELL * 0x07218428, char * 0x00126965) line 2614 + 5 bytes
MQ2ITEMDISPLAY! ItemDisplayHook::ItemSetSpell_Detour(int,bool,int) + 1677 bytes
MQ2ITEMDISPLAY! ItemDisplayHook::SetItem_Detour(class EQClasses::EQ_Item *,bool) + 8477 bytes
EQGAME! 005a4cb5()
EQGAME! 00484e1b()
EQGAME! 00631f70()
e1300d3b()
MQ2Utilities.cpp:
Code: Select all
sprintf(szTemp, "Increase experience rate by %d percent.",pSpell->Base[i]);
strcat(szBuff, szTemp);
break;
case 339: //Cast DoT as well
sprintf(szTemp, "Cast DoT as Well(%d%% Chance, Spell: %s)", pSpell->Base[i], GetSpellNameByID(pSpell->Base2[i]));
strcat(szBuff, szTemp);
break;
case 340: //Cast DD as well
[b]CRASH HERE ---->[/b] sprintf(szTemp, "Cast DD as Well(%d%% Chance, Spell: %s)", pSpell->Base[i], GetSpellNameByID(pSpell->Base2[i]));
strcat(szBuff, szTemp);
break;