ㅇ의 휴식터/연구

Atrox, SPM 분석

wnsrn3436 2009. 10. 14. 11:31

제가 아트록스의 맵 파일을 찾아본 것에는 두 가지 이유가 있습니다.


1. 맵 파일을 비교해보면 PAK 파일에서 유닛의 능력치를 변경할 수 있을 것이다.

2. 조이맥스가 만들었던 미션 파일이나 맵들은 용량이 크다.


저는 맵 파일이 압축되어있다고 가정 지어 봤습니다. 왜냐하면, 조이맥스가 만들었던 맵을 맵 에디터로 다시 저장하면 용량이 매우 낮아졌기 때문이었습니다. 그래서 일단 조이맥스가 만든 미션 맵들을 HEX-Editor로 들춰보자 아니나다를까 유닛의 데이터 정보들이 유닛의 영문 이름과 함께 저장되어 있었고, 플레이어가 8명이니 8개의 능력치가 있었습니다. 하지만 맵 용량이 작은 현재의 맵 에디터로 저장한 맵에는 유닛의 데이터 정보들이 보이지 않았습니다.



그러다가 문득 발견하게 된 LHA 압축의 헤더. 맵 에디터로 만들어지는 맵 파일은 전부 LHA로 압축되어 있던 것입니다. LHA로 압축된 부분을 꺼내서 압축을 해제하면 유닛의 능력치를 손쉽게 수정할 수 있는 파일이 나옵니다. 물론 이 내용은 유즈맵 모드에서만 적용됩니다.


[ 헤더 분석 ]


0x17 | Superion Map File 1.5

0x06 | 날짜로 추정

0x21 | ?

0x20 | 맵 이름

0x400 | 맵 설명

0x08 | ?

0x04 | 배경음악 종류 (0x00~0x05)

ReadString(0x04) | 승리 조건 문자열 길이+문자열

ReadString(0x04) | 패배 조건 문자열 길이+문자열

repeat(0x04) | 브리핑 개수

{

0x02 | 브리핑 타입 (0:대화, 1:해설)

repeat(0x04) | 개수

{

0x01 | 기본은 0 //<대화> 브리핑의 경우 1인데, 문자열이 2개의 쌍임을 나타냄 

0x04 | 문자열 길이+문자열 //<대화> 브리핑의 경우 '말하는 이'+'말하는 내용'의 쌍으로 되어있음

}

}

0x? | LHA 압축

Comments