I just noticed something else, no where in the code can I find any mention of OP_AnnoyingZone opcode. Shouldnt this be one of the opcodes mapped in the void MapOpcodes() function of the client_packet.cpp file? If this is a valid opcode and should be handled, whats it suppose to do? I guess this is why we are seeing this error message in zone.exe. This opcode is defined in opcode.cfg, but is not being used at all in the source code. Someone can try to remove this opcode from their opcode.cfg file and try it out. Like dont just zero it out, delete the whole definition for OP_AnnoyingZone altogether and see what you get. You will probably still see the second error message or maybe zone.exe will blow up altogether. Still would be nice to know how this changes the behavior.
EDIT: to complicate matters even more, OP_AnnoyingZoneUnknown is what I meant as the offending opcode and its defined in our opcodes.cfg and the ONLY place it is mentioned in the entire server code is in emu_oplist.h. But it is never handled anywhere. I think just removing this from the opcodes.cfg file will not work because the code will still try to look for it, but it never uses it and doesnt know what to do with it when it recieves it from the client. You can try to remove it from opcodes.cfg, but I dont believe it will buy us much. I guess we need to know from the devs the following:
1. what is this opcode suppose to do
2. is it something we need to add a handle to the server to do something or is it safe to remove it from the opcodes.cfg file and the emu_oplist.h file and then recompile.
I dont believe this is causing the second OP_ClientUpdate error but I am still confident our opcodes.cfg files are inaccurate.
Last edited by WildcardX; 09-12-2005 at 06:25 PM..
|