So... let's just ignore that fact that I don't just steal wow's ObjectFromGuid hotness...
Here is mine:But here's the thing... while I call this a zillion million jillion times, just fine... every once in awhile it goes coo-coo for coco puffs.Code:WowObject *WowObjectFromGuid(ULONGLONG Guid) { WowObject *pCurrent = *(WowObject**) (Mgr + 0xAC); while ( pCurrent && ((DWORD)pCurrent & 1) == 0 ) { if (pCurrent->guid == Guid) { return pCurrent; } pCurrent = pCurrent->Next; } return NULL; }
btw, I call this via hooked EndScene. Looking at other running threads, I certainly do see anything that should be stomping my guts.
Yet, what I call "Mgr" sometimes points to la-la land.
Static address 0x11CA310 points to s_CurMgr.
Consulting windbg during a crash...
0:000> dd 0x11CA310 L1
011ca310 0ae7a578
0:000> dd 0ae7a578+0x28A4 L1
0ae7ce1c 00000000
Uhhh... wha? Tis null? wtf?
This was literally while flying around in the game.
Theories?