AO not finding functions
Marius Grigoriu <[email protected]>
| Newsgroups | gmane.comp.emulators.winex.devel |
|---|---|
| Message-ID | <[email protected]> |
I've been spending quite a while on trying to track the latest crash with Anarchy Online. The crash is within one of the game dlls, not winex. warn+debugstr shows two error messages the game sends out and I suspect that it is related to the crash. I linked to part of my logfile for warn+debugstr, +seh, +snoop,+relay where I believe the bug might be happening. AO uses serialized objects to store certain data. The object is instantiated with a call to Instantiate.<class> where the class is stored in the blob read. The problem is that the game reports that the Instantiate function for that class is not found. When the dll containing the function is loaded, it is listed in the exports table, but there was no GetProcAddress even trying to look up the function. In the log, I believe that by the time it gets to CreateToolhelp32Snapshot, the error has already occurred. The log is mostly string function calls and I do see bits of the function signature, ?Instantiate@RTriMesh_t@@SAPAV1@PAVObjectArchive_c@fun@@@Z, on various lines. There is a memcmp that compares the class name, RTriMesh_t against something, but its only for the first 3 bytes. Any ideas on what might be going wrong? If the game creates a list of available functions eariler on, then the problem might not be in this part of the log. It's a bit daunting to wade through 1gig+ of logfile. http://www.csh.rit.edu/~marius/winex/log5