Page 3 of 4
Posted: Mon Nov 03, 2003 7:19 pm
by distler
lol smells like someone put a char[8] instead of long[3] somwhere
Or something like that, I have not been coding C++ ever but did code some C tools back in the dark ages on my Amiga500 :) And when I put some offset or such a bit off, the result is what Lax just got I belive

Posted: Mon Nov 03, 2003 7:19 pm
by Pheph
DKAA, that was with the 2003-11-02 17:50:50 zip with the debugspew's added as per Lax' instructions earlier (forgot to remove them).
Posted: Mon Nov 03, 2003 7:21 pm
by distler
Peph, the latest is currently IRC-latest.zip was last modified: November 03 2003 15:44:18.
But you might want to hang on a few I do belive Lax is working on a little revised quickie atm :)
Posted: Mon Nov 03, 2003 7:23 pm
by Lax
Fixed in zip, try whenever. Also made sure to add a debugspew showing what's sent to MQToSTML since apparently it's crashing in there. Looking at it.
Posted: Mon Nov 03, 2003 7:24 pm
by dont_know_at_all
Does your guild have a very long MOTD? len > 2035 characters?
Posted: Mon Nov 03, 2003 7:26 pm
by distler
Does your guild have a very long MOTD? len > 2035 characters?
I am currently testing with a character that has not yet seen the lights nor turned in his first item to his guildmaster yet :) .. a newly borne. So nope no guildmotd.
Posted: Mon Nov 03, 2003 7:30 pm
by Pheph
I have tried logging on with several different chars, some guilded, some not - still CTD.
Tried a fresh compile without the debugspewalways() added, and here is the output:
Code: Select all
[MacroQuest]HookDInput - Patching
[MacroQuest]HookCommands - Patching
[MacroQuest]HookMapfile - Patching
[MacroQuest]HookDisplay - Patching
[MacroQuest]HookGameEvents - Patching
[MacroQuest]HookItemDisplay - Patching
[MacroQuest]TakeControlOfCommandList - Adding our commands
(3c0.46c): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=00000063 ebx=01960663 ecx=01b5def0 edx=01b60000 esi=00000000 edi=01931403
eip=018e97fe esp=01b5dc70 ebp=01b5dc70 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206
*** WARNING: Unable to verify checksum for C:\_Source\mq-2003-11-02-175050\Release\EQLib.dll
EQLib!_output+0x751:
018e97fe 8802 mov [edx],al ds:0023:01b60000=4d
0:004> r
eax=00000063 ebx=01960663 ecx=01b5def0 edx=01b60000 esi=00000000 edi=01931403
eip=018e97fe esp=01b5dc70 ebp=01b5dc70 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206
EQLib!_output+0x751:
018e97fe 8802 mov [edx],al ds:0023:01b60000=4d
0:004> kv
ChildEBP RetAddr Args to Child
01b5dc70 018e9288 00000063 01b5def0 01b5dec4 EQLib!_output+0x751
01b5ded8 018e65be 01b5def0 01931403 01b5df20 EQLib!_output+0x1db
01b5df10 018e5a36 01b5fffe 01931400 00000000 EQLib!sprintf+0x2e
01b5df50 018e621c 01b5f7b4 01b5df6c 000007f3 EQLib!MQToSTML+0x5ba (CONV: cdecl) [EQLib_Utilities.cpp @ 1257]
01b5e76c 2f3c3e63 2f3c3e63 2f3c3e63 2f3c3e63 EQLib!Chat+0x7e (CONV: cdecl) [EQLib_Ui.cpp @ 242]
WARNING: Frame IP not in any known module. Following frames may be wrong.
2f3c3e63 00000000 00000000 00000000 00000000 0x2f3c3e63
Posted: Mon Nov 03, 2003 7:35 pm
by Lax
Woops zip didn't get updated a minute ago, it is now. Grab newest. if DKAA's line of thinking is correct, and I forgot about the null terminator when calculating the max length, and if that was the problem, this should solve it.
Try the debug spew and DBG_CRASHES thing I mentioned.
Posted: Mon Nov 03, 2003 7:45 pm
by distler
Okay Lax this time we got something more readable :)
Code: Select all
-- TakeControlOfCommandList() Entry
HookMemChecker - Patching
-- HookChat() Entry
HookChat - Patching
-- HookChat() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(x=)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(Welcome to EverQuest!)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(If you need help, click on the question mark ("?") on the Window Selector toolbar at the top of your screen.)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(You have entered Halas.)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(MESSAGE OF THE DAY: Greetings Norrath! In order to assist us with providing you better customer service, please ensure your e-mail address is current. To update your information, please visit www.station.sony.com and sign in by clicking the "My Account" link.)
-- CChatHook::Detour() Exit
-- HookDInput() Entry
Mouse and Keyboard have same GetDeviceData
Mouse and Keyboard have same GetDeviceState
Mouse and Keyboard have same Acquire
HookDInput - Patching
-- HookDInput() Exit
-- HookCommands() Entry
HookCommands - Patching
-- HookCommands() Exit
-- HookMapfile() Entry
HookMapfile - Patching
-- HookMapfile() Exit
-- HookDisplay() Entry
HookDisplay - Patching
-- HookDisplay() Exit
-- HookGameEvents() Entry
HookGameEvents - Patching
-- HookGameEvents() Exit
-- HookItemDisplay() Entry
HookItemDisplay - Patching
-- HookItemDisplay() Exit
TakeControlOfCommandList - Adding our commands
-- TakeControlOfCommandList() Exit
-- WriteChatBuffer() Entry
-- WriteChatColor() Entry
-- Chat(PCHAR,DWORD) Entry
-- MakeChatWindow() Entry
-- LoadChatFromINI() Entry
-- LoadChatFromINI() Exit
-- MakeChatWindow() Exit
-- MQToSTML() Entry
-- Detour_ProcessGameEvents() Exit
MQToSTML(MacroQuest is active.)
Looks to me as if all MQ functions loads perfectly!?
Uhm well maybe except for this one?
Posted: Mon Nov 03, 2003 7:51 pm
by Pheph
Code: Select all
-- TakeControlOfCommandList() Entry
HookMemChecker - Patching
-- HookChat() Entry
HookChat - Patching
-- HookChat() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(Autojoining channels...)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(Channels: 1=serverwide.clique(3))
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(Welcome to EverQuest!)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(If you need help, click on the question mark ("?") on the Window Selector toolbar at the top of your screen.)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(You have entered North Kaladim.)
-- CChatHook::Detour() Exit
-- CChatHook::Detour() Entry
CChatHook::Detour(MESSAGE OF THE DAY: Greetings Norrath! In order to assist us with providing you better customer service, please ensure your email address is current. To update your information, go to www.station.sony.com and sign in by clicking on the "My Account" link.)
-- CChatHook::Detour() Exit
-- HookDInput() Entry
Mouse and Keyboard have same GetDeviceData
Mouse and Keyboard have same GetDeviceState
Mouse and Keyboard have same Acquire
HookDInput - Patching
-- HookDInput() Exit
-- HookCommands() Entry
HookCommands - Patching
-- HookCommands() Exit
-- HookMapfile() Entry
HookMapfile - Patching
-- HookMapfile() Exit
-- HookDisplay() Entry
HookDisplay - Patching
-- HookDisplay() Exit
-- HookGameEvents() Entry
HookGameEvents - Patching
-- HookGameEvents() Exit
-- HookItemDisplay() Entry
HookItemDisplay - Patching
-- HookItemDisplay() Exit
TakeControlOfCommandList - Adding our commands
-- TakeControlOfCommandList() Exit
-- WriteChatBuffer() Entry
-- WriteChatColor() Entry
-- Chat(PCHAR,DWORD) Entry
-- MakeChatWindow() Entry
-- LoadChatFromINI() Entry
-- LoadChatFromINI() Exit
-- MakeChatWindow() Exit
-- MQToSTML() Entry
MQToSTML(MacroQuest is active.)
And the output from the debugger is:
Code: Select all
0:004> r
eax=00000063 ebx=01960663 ecx=01b5deec edx=01b60000 esi=00000000 edi=01931097
eip=018e9dbe esp=01b5dc6c ebp=01b5dc6c iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010206
EQLib!_output+0x751:
018e9dbe 8802 mov [edx],al ds:0023:01b60000=4d
0:004> kv
ChildEBP RetAddr Args to Child
01b5dc6c 018e9848 00000063 01b5deec 01b5dec0 EQLib!_output+0x751
01b5ded4 018e6b7e 01b5deec 01931097 01b5df1c EQLib!_output+0x1db
01b5df0c 018e5df0 01b5fffe 01931094 00000000 EQLib!sprintf+0x2e
01b5df4c 018e673f 01b5f7b4 01b5df68 000007f2 EQLib!MQToSTML+0x5dd (CONV: cdecl) [EQLib_Utilities.cpp @ 1264]
01b5e76c 2f3c3e63 2f3c3e63 2f3c3e63 2f3c3e63 EQLib!Chat+0x132 (CONV: cdecl) [EQLib_Ui.cpp @ 264]
WARNING: Frame IP not in any known module. Following frames may be wrong.
2f3c3e63 00000000 00000000 00000000 00000000 0x2f3c3e63
This was with the latest zip (mq-2003-11-03-163404)
Posted: Mon Nov 03, 2003 7:53 pm
by Lax
Ah! of course.. i know now.
Posted: Mon Nov 03, 2003 7:55 pm
by Pheph
/taps foot

Posted: Mon Nov 03, 2003 7:57 pm
by dont_know_at_all
I found it.
Code: Select all
#define InsertStopColor(text) sprintf(text,"</c>");[color=red]TotalColors--;[/color]
for (TotalColors ; TotalColors>0 ; [color=red]TotalColors--[/color])
{
pchar_out_string_position+=InsertStopColor(&out[pchar_out_string_position]);
}
Take out the TotalColors-- in the for block and give it a try.
Posted: Mon Nov 03, 2003 7:59 pm
by Lax
Zip should work
Posted: Mon Nov 03, 2003 8:07 pm
by distler
I did what DKAA said and... It works
