ㅇ의 휴식터/연구

TRK, SPZ 분석

wnsrn3436 2010. 12. 20. 17:21


쥬라기원시전2 더랭커 SPZ 파일의 헤더는 0x20byte이며, 그다음으로는 PNT 파일 불러오기가 시작됩니다. SPZ 파일의 특이한 점은 투명색을 0번 압축 알고리즘을 이용하여 압축한다는 것인데, 아무래도 SPZ가 유닛이미지 파일이다 보니 투명색이 많아 이러한 알고리즘을 사용한 것으로 보입니다.


[ 헤더 분석 ]


0x04 | 가로 픽셀

0x04 | 세로 픽셀

0x04 | 가로 중심점

0x04 | 세로 중심점

0x04 | 가로 충돌점 (추정)

0x04 | 세로 충돌점 (추정)

0x04 | 앞머리를 제외한 이미지의 크기

0x04 | ?



팔레트를 불러오는 부분에서 바로 시작되는 0x02byte는 구간의 크기를 나타냅니다. 이러한 구간의 크기가 끝난 뒤에는 새로운 구간의 크기가 나타나는 구조로 되어있습니다. 사진에서처럼 0x0700 뒤 7byte 후에 새로운 구간의 크기가 나타나는 것을 확인하실 수가 있습니다.



이러한 구간 내에 위 사진처럼 0x000B, 0x0007 등 0x00으로 시작되는 바이트가 있다면, 이것은 0x00이라는 것이 얼마나 존재하는지를 알려주는 역할을 합니다. 그래서 0x000B는 '0000 0000 0000 0000 0000 00' 라는 0번 팔레트를 불러오는 픽셀로 해석할 수 있으며, 이것이 바로 0번 압축 알고리즘입니다.

Comments