by Justin Olbrantz(Quantam)
Logo by Joel Steudler

TABLE OF CONTENTS
Legal Copyrights
The MPQ Format
This Article
Acknowledgements and Credits
Tom Amigo
Ladislav Zezula
Bobby Newmark
Andrey Lelikov
Introduction
About the Author
History of Inside MoPaQ

Who Should Read Inside MoPaQ
Chapter 1 - Introduction to MPQs
Before There was MPQ...
Why MPQ?
Storm
Starcraft Campaign Editor
Chapter 2 - Fundamentals
Hashes
Hash Tables
Compression
WAV Compression
Encryption
Chapter 3 - Storm
Using the Storm API
Opening an MPQ Archive - SFileOpenArchive
Closing an Archive - SFileCloseArchive
Opening a File Inside an MPQ - SFileOpenFileEx
Closing a File Inside an MPQ - SFileCloseFile
Reading from a File in an MPQ - SFileReadFile
Getting a File's Size - SFileGetFileSize
Moving the File Pointer - SFileSetFilePointer
Choosing a Language - SFileSetLocale
Putting it All Together - DumbExtractor
The Rest is Attitude

Download the Storm Interface Library
Download DumbExtractor with Source

Chapter 4 - Starcraft Campaign Editor and the MPQ API Library
Using StarEdit - The MPQ API Library
¿Sé Habla Español?
Initializing the MPQ API Library - MpqInitialize
Opening an MPQ for Editing - MpqOpenArchiveForUpdate
Closing a Modified Archive - MpqCloseUpdatedArchive
Adding a File - MpqAddFileToArchive
Adding a File with WAV Compression - MpqAddWAVToArchive
Renaming a File - MpqRenameFile
Deleting a File - MpqDeleteFile
Compacting an MPQ - MpqCompactArchive
Getting Information About a File - SFileGetFileInfo
The Grand Unification - Terminal MPQ

Download the MPQ API Library 2.0
Download Terminal MPQ with Source
Chapter 5 - The MPQ Format
The Messy Details
Programming the MPQ Format
The MPQ Header
The Hash Table
The File (aka Block) Table
Archived File Data
The Listfile
Chapter 6 - Programming the MPQ Format
(Syllabus unknown at this time)
Appendix A - Bringing MPQs to the Masses
MPQs for Visual Basic
Using the Storm API
Using StarEdit - The MPQ API Library
Opening an MPQ Archive - SFileOpenArchive
Opening a File Inside an MPQ - SFileOpenFileEx
Reading from a File in an MPQ - SFileReadFile

Web site and content copyright © 2002 Justin Olbrantz unless otherwise noted. All rights reserved