Valhalla Legends Archive

Programming => General Programming => Topic started by: Muhweli on November 04, 2003, 04:32 PM

Title: SC/BW Battle.net Chat Logging (?)
Post by: Muhweli on November 04, 2003, 04:32 PM
So the issue is this:

I remember a registry file from Valhalla Legends which fixed the W2k bug in StarCraft/Brood war thingie but at the same time it gave the game possibility to log all chat messages in public chats. I am currently developing (because I don't think such program exists yet) a program that would log all the messages going on in games and in the public chats.

I have a pretty good idea (or at least basis) for reading shit in games but the reading the stuff from the public chat would be more important for me to know. So how do I get SC/BW to log all the stuff talked in the public chats. And if there's no other way than to run an external program to log (which wasn't back then), how do I get to read the insights of the main chat window?

If it's done easier by a simple registry change, please let me know plz :)  8)
Title: Re:SC/BW Battle.net Chat Logging (?)
Post by: Kp on November 04, 2003, 05:21 PM
The registry change was just to make it convenient to start Stacraft Enhancements (SCE) from the Explorer window.  SCE applied memory patches to certain sections of the game's code, enabling it to intercept text that was about to be displayed.  It then wrote the text to disk.
Title: Re:SC/BW Battle.net Chat Logging (?)
Post by: Skywing on November 04, 2003, 05:36 PM
Quote from: Muhweli on November 04, 2003, 04:32 PM
So the issue is this:

I remember a registry file from Valhalla Legends which fixed the W2k bug in StarCraft/Brood war thingie but at the same time it gave the game possibility to log all chat messages in public chats. I am currently developing (because I don't think such program exists yet) a program that would log all the messages going on in games and in the public chats.

I have a pretty good idea (or at least basis) for reading shit in games but the reading the stuff from the public chat would be more important for me to know. So how do I get SC/BW to log all the stuff talked in the public chats. And if there's no other way than to run an external program to log (which wasn't back then), how do I get to read the insights of the main chat window?

If it's done easier by a simple registry change, please let me know plz :)  8)
The way I did this in Starcraft Enhancements involved loading SCE into Starcraft's process address space and patching in calls to my functions at various interesting spots in Starcraft code, e.g. parts that handled chat messages.

The now-defunct Camelot Systems hosted a program that logged in-game chat, authored by a person named Rangsk.

If you're looking for techniques to inject your code into a different process, you may find Yoni's sample HDL (http://yoni.valhallalegends.com/stuff/SampleHDL.zip) useful (incidentally, it conforms to the same rundll32-loading specification that SCE did).