When PopCap announced that Dancing Zombie would be replaced with Disco Zombie in Plants vs. Zombies: Game of the Year I disabled automatic updates in Steam.
But when the GOTY version came out, my copy of PvZ was automatically updated by Steam without my consent. So I decided to make a patch that would get rid of the lame Disco Zombie and restore Dancing Zombie to his former glory.
Here it is: DancingZombiePatch.zip
To use it, just extract DancingZombiePatch.exe and run it. It will default to pointing to C:\Program Files (x86)\Steam\steamapps\common\plants vs zombies but should still work if you’ve installed into a different folder or aren’t on a 64-bit system or whatever. (It might only work with the Steam version, though.)
Obviously this is offered without warranty or guarantee that it will work or whatever else… And it will certainly stop working if the game is updated to a new version. Hopefully neither PopCap nor Valve will mind. (It’s really not cool to just change the files on someone’s computer when they’ve said not to.)
Here’s a video showing the Dancing Zombie patched version of Plants vs. Zombies GOTY in action:
How the patch was made
The game assets are all stored in C:\Program Files (x86)\Steam\steamapps\common\plants vs zombies\main.pak.
In the original version, Dancing Zombie and Backup Dancer are represented in the art/scripting assets as Zombie_Jackson (probably shouldn’t have used that name, guys!) and Zombie_dancer, respectively.
In the GOTY version, Dancing Zombie and Backup Dancer become Zombie_disco and Zombie_backup.
However, in the update, PopCap didn’t actually delete the original Zombie_Jackson and Zombie_dancer files! So it was just a matter of pointing the animation data for the disco dancers to the originals. (Luckily the original version was still on my laptop.)
After modifying the resources, I made a new main.pak using poppak.exe from PopCap Games FrameWork v1.3.
Finally I used PatchWise Free to compare the two main.pak files and generate a patching tool.