초보 분들이 아이템 필터 등 모드를 적용할 때 애를 먹는 이유가 mpq 파일 구조에 대한 이해가 부족해서 그런 경우가 많은 것 같습니다. 개념을 한 번 잡고 가면 손쉽게 적용할 수 있는 것은 물론 다른 모드들을 서로 짬뽕시켜 이용하는 경우에도 많은 도움이 될 수 있으니 꼭 한 번 보고 가세요!

1. mpq 파일이란
블리자드에서 개발한 독자적인 압축 포맷입니다. 이 파일 안에 게임에 필요한 모든 데이터들을 다 집어 넣어 관리하고 있습니다. 최근에 CACS(Content Addressable Storage Container) 포맷으로 바뀌었다고 하는데 모드에서는 mpq 포맷을 그대로 사용할 수 있네요. 찾아보면 상세한 설명이 많이 나오긴 하지만 이 정도만 알고 넘어가도 될 듯 싶습니다.

2. 원본 게임 데이터 구성 살펴보기
앞서 언급했듯이 최근에는 CACS 구조로 이루어져 있는데요. Ladik's Casc Viewer를 통해 디아블로2 레저렉션 압축 포맷 내부를 들여다 볼 수 있습니다.
데이터 원본의 폴더 구조 및 파일을 살펴 보면 쉽게 이해할 수 있는 부분도 있고 그렇지 않은 부분도 있습니다. 모드에서 이 구성을 그대로 가져가므로 해당 내용을 얼마나 잘 이해하느냐에 따라 모드의 질과 다양성이 결정된다고 볼 수 있겠습니다.

3. 모드 mpq 파일 내부 살펴보기
먼저 mpq editor를 다운 받아야 합니다.
살펴보면 원본 데이터 구조와 완전히 동일합니다. 우리는 필요한 부분만 가져와서 수정하고 원본과 동일한 위치에 동일한 파일을 만든 모드에 가져다 놓으면 됩니다. 명령줄 인수를 통해 이 모드가 있다는 것을 알리면 원본 데이터를 무시하고 모드의 동일한 위치에 있는 파일을 우선적으로 적용하는 개념인 것입니다.

4. mpq 포맷과 단순 폴더 구조 비교
그런데 여러 모드들을 보다 보면 mpq 파일이 없는 모드들도 있습니다.
MPQ Editor를 이용하여 custom.mpq 파일을 만들어 적용하든 그냥 custom.mpq 라는 폴더를 만들어서 적용하든 이 두 가지는 동일하게 적용이 됩니다. 상당히 유사한 구조로 구성이 되어 있긴 하지만 엄연히 이 둘은 다른 형태입니다. 디아블로2 레저렉션의 모드 기능에서 동일하게 인식시켜 주고 있는 것 뿐입니다.

5. 정리하기
이러한 구조만 잘 이해하면 mpq 포맷 파일을 추출하여 폴더 형태로 만들어서 나만의 모드를 구성할 수도 있고 반대로 mpq 폴더를 mpq 포맷 파일로 만들어서 모드를 단일 파일로 관리할 수도 있을 것입니다.

다음 사항을 잘 기억하시기 바랍니다.

1) 원본 데이터 구조와 모드 내부 데이터 구조는 완전 동일하다.
2) 모드에서 mpq 파일과 mpq 폴더는 동일한 개념으로 인식한다.


※ 수정 배포는 자유지만 출처만 명시 부탁드립니다.