1. Take contents of war3.mpq, war3x.mpq, war3xlocal.mpq, and war3patch.mpq and put them into 4 separate folders (make sure to have full listfile)
2. Copy these contents all into the same folder, so that when we are done we will just have 1 "game.mpq" which does not have repeat files
(Still not using MPQs right now)
3. Delete all those support files and root files just like pyf did (*.html, *.jpg, *.css, *.js)
4. Extract the contents of the Tileset-MPQs (A.mpq, B.mpq, etc.) also into a separate folder. Run all squisher scripts on these folders (see below)
5. Extract the contents of War3_low.mpq and War3x_low.mpq into and on top of the files in the main folder, in that order, to help models compress to slightly smaller size
6. Delete all TGA files that are not inside of
PathTextures\ as other TGAs are literally wastes of space created by 3ds max export during Blizzard's work flow that they forgot to remove
7. Write a model squisher script akin to MdxSquisher that:
- goes to every 32 bit floating point value in every MDX file in the game and bit masks it with 0xFFFF0000 so that the low-order bits of the mantissa are 0's, since nobody cares about those anyway
- replaces all animation keyframes with Linear type frames so that they do not have InTans and OutTans and thus take 1/3 as much space
- remove any keyframe that comes between two other, similar keyframes to further simplify animations
8. Run "blplabcl.exe", command line BLP Lab that Shadow Daemon gave me to build the matrix eater a while back on every texture in the game
- Tell it to compress to 50% or 25% quality.
- Create mipmaps for anything in "units", "abilities", "buildings", "textures", "environment", "doodads", "sharedmodels", "objects\inventoryitems", or "replaceabletextures\splats"
- Do not create mipmaps for other textures, to save space
9. Vaporize any file with ".mp3" or ".wav" extension because the goal was the smallest working copy of the game possible, and sound is not a requirement it's an extra feature
10. All those automated compressor scripts sometimes crashed, and logged which files they crashed on. Made another script to replace any file in the archive with the original source material from normal Warcraft on any case where a script crashed for a given file
11. Delete Campaign Screen and Menu Screen model files, and replace all blps in their subdirectories with 1x1 alpha black file, so that they take no space, but can still be used by models in custom maps (sometimes fan model authors use campaign tex to save space, you need to have the model load in custom maps or else units disappear)
12. Delete anything else I just felt like deleting that I probably wasn't going to use ("Melee_V0" folder deleted, "Maps" folder deleted, "Sound" folder deleted, "UI\SoundInfo" deleted, "UI\Captions" deleted, all "UI\Mac**" deleted because I'm on Windows)
13. Replace most of the contents of "ReplaceableTextures\Cliff" and "ReplaceableTextures\Water" with the 1x1 alpha black file, since any file in these folders with a prefix like "G_" in the name is not used by the game, and only by fanmade models.
14. Replace most of "ReplaceableTextures\Shadows" with the 1x1 alpha black file because who needs shadows, you just have to have "Shadow.blp" and "ShadowFlyer.blp" use the output of the compressor scripts and be valid files, the rest are buildings and trees and whatever [You can use Nirvana hacks to have real-time shadows anyway, don't need these probably, was my thinking]
15. Delete all the "arthasandillidanfight" stuff, but leave the 1x1 alpha black textures for fan models to still load
16. Delete everything in "Scripts\" except for the Magic 7 ("Blizzard.j", "common.j", "common.ai", "elf.ai", "orc.ai", "human.ai", "undead.ai")
- Preloader whatever is nice but the game runs without it, my target goal was minimum file size
17. Delete everything in "Fonts\" except for "FRIZQT_.TTF" because that's the only one you probably actually need, it's the English one and official language of THW is English I read somewhere I think
And...
Now you have a 92 MB mpq you can use, you can replace the others with table size 4 dummy empty files, and so you have < 100 MB for the main game files, then you just need maps and other stuff (Don't need war3patch.mpq because you can't patch this monster and the game runs without it)