Thursday, September 13, 2007

Combat log, finally!

Well, after yesterday's total crash (I followed on some dead lead and went real deep), I almost give up. The good news is I still got several solid leads from hours of analyzing WOW.exe's disassembly (the bad news is I am not a very organized person, as you can see my website is a total mess), and I forget where I got them lol.

So anyway, I was able to find some relations from those solid leads, and I got a working version that works on both mine and my friend's machine :-).

Appears there is no static route to trace to the memory that contain the links to the display strings. Blizzard appears to using a rotation method, and there was one dynamically allocated address that contains the pointer to the starting link base on some selection. (maybe it is one DMA pointer that is used by hardware, so Blizzard has to rotate). I just used what ever blizzard uses to determine if the pointer is currently point to messages, and use that instead.

What that means is, there is a slight chance that when you call wowGetCombatMsgs(), it might return nothing even thought there are logs. In that case just call again and you might get them (but 99% of time you get stuff).

The new release is at http://www.zolohouse.com/wow/wowFighter/
now I will go on to improve the scripts. Also need to change some profiles. I got complains that some people don't like see code on top of profiles, that gives them headaches.

No comments: