Blizzard Bending; Story of a Notorious Modder
- Published on
Diving into the subversive world of modding and hacking Blizzard's World of Warcraft (WoW) was one of my fondest memories of learning to code and reverse engineer. It's been over 16 years since I first stepped into this domain. Although my journey didn't start out pure and innocent, it certainly evolved!
I began my modding adventure by visiting a popular hacking site of that time, MMOWNED, where I stayed updated with the latest hacks and exploits. There were various methods for different types of mods back then. The old school way involved using a HEX editor to modify the game files, but this was tedious for the average person seeking quick mods and edits.
Enter Glitchy's Model Editing Suite (MES), a program I developed that enabled users to modify the game files in numerous ways. The tools I created facilitated the emergence of some of the most intriguing and entertaining mods in the community, such as: New Druid Forms, Big head mod, alongside some less savory ones (body "enhancements"), and many more lost to time.
A personal note: I was much younger back then, so brace yourselves for some cringe ahead 😄!
Link to a very slow-paced video of the Model Editing Suite in action.
Technical Achievements
M2 File Format Mesh Reversing
With few known data formats at the time, I had to reverse engineer many of them myself. I am particularly proud of reversing the M2 file format, specifically the 3D mesh data, which included vertices, indices, and texture coordinates. This breakthrough enabled the cloning of models and the creation of mini versions of the player's character.
This video depicts an M2 edit that copies the player's character and shrinks it down to a miniature version.
Animation Reversing
Modifying and swapping animations on models brought a lot of fun and led to the creation of some interesting mods! This video shows all NPCs/players idle animations swapped with the dance animation.
Particle Reversing
Successfully modifying and swapping particle effects on models was another achievement. In this video, I replaced a buff with a fire effect.
Model Swapper
One of the most popular tools inside my Model Editing Suite (MES) was the Model Swapper, allowing users to exchange their current gear for any other gear in the game. This feature was purely client-side; hence, only the user could see it and it had no impact on the stats. I take pride in the innovative tech incorporated into this tool.
Link to video of it in action (Not my video)
Data Cache
WoW had a plethora of MPQ files containing all the models, textures, data, etc. NPCs, players, buildings, all contained multiple pieces that were scattered across different MPQs. The game's startup involved crawling through these MPQ files and making those connections, a process heavily dependent on the hard drive speed. With the files being enormous, this took a considerable amount of time. Blizzard's solution was a cache file containing all the game's lookup data, enabling faster access than crawling through MPQ files.
This is where my Model Swapper played a pivotal role. The application was able to modify this cache file and therby fool the client into loading a different model. Users could enter their armory link and utilize the MES to access data in the cache and swap out their gear. Before this, swapping gear required knowledge of the item ID, locating it in the cache, and using a HEX editor for the swap.
Each game update would invalidate the cache. Occasionally, Blizzard altered the cache format, which would disrupt the Model Swapper. I devised a system to dynamically analyze the cache file, ensuring forward compatibility. This innovation allowed the Model Swapper to function for years without requiring updates.
Legal Issues / Cat and Mouse
The presence of the MEF (Model Editing Fix), a patch applied to the game binary enabling the loading of custom models, sparked a cat-and-mouse game between the modding community and Blizzard. While I wasn't involved in distributing or creating the MEF, my tools did necessitate it.
Before Blizzard's intervention, the MEF allowed users more liberties, such as altering blimp destinations, enabling exploration of unreleased areas like the Game Master (GM) Island. However, Blizzard's capability to detect MEF use led to bans. Following community pushback, they ceased banning for certain MEF uses, allowing the continued development of my tools.
Personal note
During my early modding days, I came across an exclusive group of skilled modders, rumored to be current or former Blizzard employees. Eager to join and learn, I submitted an application but was turned down due to my lack of experience. This rejection spurred me on to dive deeper into modding, leading to my reverse engineering of the M2 file format and the development of the cloning feature.
While I never attempted to join the group again, my accomplishments caught their attention. Following the release of the cloning feature, a member reached out and shared a complete M2 file format 010 editor template. Although this gesture was generous, it also marked the beginning of my detachment from the WoW modding scene. Having the file format handed to me felt like a shortcut and diminished the thrill of discovery. Despite this, I departed on amicable terms, and it was gratifying to see my tools continue to serve the community for years thereafter.
To that group, I extend my heartfelt gratitude for the inspiration and the invaluable learning opportunity your existence provided me with! I was indeed chasing after Giants in an industry I was yet to fully grasp, and your indirect mentorship, albeit from afar, significantly shaped my journey and fueled my aspirations to delve deeper and reach higher.
Glitchy's Model Editing Suite Features
WDB Model Swap
- Description:
- This application is used to change Weapons/Armor in WoW. It removes the need to know HEX editing and simplifies it to a simple three-click process.
- Updates:
- v.1.0 Armory Support
- v.1.1 Memory Support added
- MEF Required? No
- Description:
Model Injector
- Description:
- With this application, you are able to extract the models from an M2 and re-inject them back into the original M2 that they were extracted from while keeping the animation intact.
- Updates:
- v.1.0 Bug Fixes
- MEF Required? Yes
- Description:
Sky Box Editor
- Description:
- With this program, you will be able to make works of art out of the skies that you see every day. Or, if you are not the artist, you can make a simple swap. Say you love that sky in Old Hillsbrad and you want it in Westfall: that can be done with this program.
- Updates:
- v.1.0 Bug Fixes
- v.1.1 Added the ability to move the sky location.
- MEF Required? Yes
- Description:
Race to Race
- Description:
- With this program, you are able to change your race from one race to another.
- Updates:
- v.1.0 First Release
- v.1.1 Fixed List Create Bug
- v.1.2 Added Java Test and more Bug fixes
- MEF Required? Yes
- Description:
MPQ Combiner
- Description:
- With this application, you can take all those MPQs you have and combine them into 1 MPQ. It cuts down on the space you need in your data path.
- Updates:
- v.1.0 First Release
- MEF Required? Unknown
- Description:
Mount Tools
- A. Mount Swap
- Description:
- With this application, you are able to swap your mount's visuals to that of any other mount.
- Updates:
- v.1.0 First Release
- MEF Required? Yes
- Description:
- B. Mount Point
- Description:
- This is my public release of my mount point editor. It takes an NPC/player model (not custom) and adds a point where you can mount it.
- Updates:
- v.1.0 Bug Fixes
- v.1.1 Added Support for Whatever bone you want.
- MEF Required? Yes
- Description:
- A. Mount Swap
Search Tools
- A. Model Finder
- Description:
- With this program, you enter the common name of a model and it finds the MPQ path of the model for you. The common name would be the name that the item is in-game. For example "Storm Helm" will get you "Item\ObjectComponents\head\helm_leather_pvpalliance_a_01.M2".
- Updates:
- v.1.0 First Release
- MEF Required? No
- Description:
- B. MPQ Searcher
- Description:
- This application opens up an MPQ and searches the file for a given phrase. For example, you could open up "Patch.mpq" and search for all the files that contain the word "cow" in it.
- Updates:
- v.1.0 First Release
- MEF Required? No
- Description:
- C. Baked NPC
- Description:
- This is an application that will search for a given NPC and find the texture for you. For example, you could search for "Thrall" and it would return "4918059d7f213e1c38fd50a3c13bf057.blp" It can also extract the file for you.
- Updates:
- v.1.0 First Release
- MEF Required? No
- Description:
- A. Model Finder
Advance Tools
- A. Animation Tools
- A. Animation Editor
- Description:
- This program is intended to help people that are looking to change their animations. EX: Change bow animation with wand animation.
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- B. Animation Swapper
- Description:
- It's finally Here! With this application, you can swap one animation in a model for another. For instance, you can swap the animation for /bow for the animation for /dance.
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- A. Animation Editor
- B. M2 Tools
- A. Partial Editor
- Description:
- This program is to edit partials in models. Partials are used for glows on armor and weapons.
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- B. Attachment Editor
- Description:
- With this program, you can remove attachments on models. Attachments are things such as weapons. So, for example, you can remove weapons off a character.
- Updates:
- 1.0 First Release
- MEF Required? No
- Description:
- C. M2 Data Viewer
- Description:
- This program is an advanced tool for people that are interested in how M2 files work. This will show you all the data inside the file.
- Updates:
- 1.0 First Release
- MEF Required? No
- Description:
- D. Model Resizer
- Description:
- This program can enlarge/shrink a model. It c1an also offset (move) the model's base position.
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- A. Partial Editor
- C. Item MPQ Creator
- Description:
- This program is intended to be used to help make MPQs out of custom models and help with model swaps. At this moment, it only supports weapons and shields.
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- D. Zone Name Changer
- Description:
- This program is used to change any zone name to any other name. For example, you could change the name "Iron Forge" into "Lag Forge".
- Updates:
- 1.0 First Release
- MEF Required? Yes
- Description:
- E. WMO Lights
- Description:
- With this tool, you are able to change the color of lights inside WMO's root file.
- Updates:
- v.1.0 First Release
- MEF Required? Yes
- Description:
- F. Spell Swapper
- Description:
- With this tool, you are able to swap a spell's looks based on their IDs. You can find these IDs from WoWHead Or ThottBott
- Updates:
- v.1.0 First Release
- MEF Required? Yes
- Description:
- A. Animation Tools