• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

How to code mixtapes

Status
Not open for further replies.
Level 3
Joined
Jan 16, 2013
Messages
11
I'v seen a lot of mixtape patches for warcraft, hacks or something like that.
But how to create it? I know C++ well, but don't know how it works and don't have any sdk or api.
Cannot find anything. Can you give me a link on github sources of any mixtape or guide about this?
It would be nice to know about this.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
556
As far as I know, WC3 on old patches (I think, 1.27 and below, might be wrong) is simply designed to load any standards windows DLL, if it is present in the game folder with the .mix extension. There is no official API or anything like that.

The way these "mixtapes" work is that they directly modify the WC3 process, either via an offset table or signature scanning, inserting hooks into the relevant sections of the code, thus modifying the code flow.

Since there is no official API, you are pretty much stuck with reverse-engineering WC3 code. I don't think you'll have luck finding any resources here, on Hive, but you might have some luck on d3scene.

For example, here's a Lua engine framework that relies on a static table of WC3 memory offsets to provide Lua scripting capabilities to WC3 - [Release] Warcraft Lua Engine [1.0.4]

Do keep in mind that this functionality has been removed from current patches, and the WC3 binaries themselves have been encrypted, further complicating the process of reverse-engineering it.
 
Status
Not open for further replies.
Top