2020. 3. 25. 01:37ㆍ게임/컴파일
주의) 컴파일이라는 회사는 없어졌으나, 컴파일 게임들의 저작권은 D4엔터프라이즈라는 회사에서 소유하고 있습니다.
그러므로 해당 데이터들은 상업적 용도로 쓰시면 저작권법에 걸릴수 있습니다!
컴파일 게임(환세취호전/뿌요뿌요 등) 음악/스프라이트 추출 방법입니다.
컴파일 게임의 경우, 크게 5가지 확장자 파일이 존재하는 것으로 보입니다.
음원 관련 확장자)
- .WLK : WAV 파일
- .MLK : MID 파일
그래픽 관련 확장자)
- .CNS : BMP 파일
- .CNX : BMP 파일로 추측 (파일이 없어서 뜯어보진 못함)
- .FLD : CNS 또는 CNX 파일들의 압축본
위 파일들은 이진 파일이며, 각 파일들별로 이미지/음원 압축이 되어있습니다.
일본 웹에서 찾아본 결과로는...
- CNX 파일은 BMP/GMP 이미지 파일을 LZ77 압축 알고리즘으로 압축한 것
- CNS 파일은 CNX 파일과 동일하게 이미지 파일을 LZ77 압축 알고리즘을 압축한 것으로 보이나, 알고리즘이 다른것으로 보임
- FLD 파일은 단순히 CNS/CNX 파일들을 모아둔 것
- WLK/MLK 파일 역시 음원 파일을 압축한 것으로 보임
실제로 FLD 파일을 vscode로 열어보면, 아래와 같이 CNS 파일명이 보입니다.
컴파일에서 사용한 확장자들에 대한 조금 더 자세한 내용들은 아래 사이트에서 확인가능합니다. (일어)
http://www002.upp.so-net.ne.jp/pecopeco/mkjpg/cnx/past.html
이제는 환세취호전 게임 파일을 이용하여, 실제 음원/스프라이트를 추출해보겠습니다.
추출에는 일본 웹사이트에서 구해온 추출툴을 이용합니다.
우선 환세취호전 내의 파일들을 확인해보겠습니다. (게임은 https://melburn119.tistory.com/533 에서 받았습니다.)
- GENSE.FLD : 그래픽 파일
- MIDDATA.MLK : 음원 파일(음악)
- PCMDATA.WLK : 음원 파일(효과음)
위 3가지의 파일에서 스프라이트/음원을 추출합니다.
1. FLD 파일 추출
FLD 파일 추출 프로그램입니다. (fldcut102.lzh)
파일 출저 : http://www002.upp.so-net.ne.jp/pecopeco/mkjpg/cnx/fld.html
fldcut102.lzh 파일을 다운받아 압축을 풀어줍니다. 그러면 fldcut102.exe파일이 보이실겁니다.
그 후 GENSE.FLD 파일을 드래그 & 드롭으로 fldcut102.exe 파일에 떨어뜨려줍니다.
(꼭 fldcut102.exe 파일과 GENSE.FLD 파일이 같은 폴더에 있을 필요는 없습니다.)
그러면 추출툴이 실행되어, 방금 떨어뜨린 FLD파일(GENSE.FLD)에서 CNS/CNX 파일들을 추출해냅니다.
아래 사진과 같이 약 300여개의 CNS파일이 추출됩니다.
2. CNS/CNX 파일 추출
CNS/CNX 파일 추출 프로그램입니다.
CNS : cns110.lzh
CNX : cnx106.lzh
파일 출저 : http://www002.upp.so-net.ne.jp/pecopeco/mkjpg/cnx/cns.html
FLD 파일과 방식은 똑같습니다.
cns110.lzh 파일을 다운받아 압축을 푼 후, cns 파일들을 드래그 & 드랍으로 cns110.exe 파일 위에 떨궈줍니다.
(꼭 cns110.exe 파일과 cns 파일들이 같은 폴더에 있을 필요는 없습니다.)
그러면 추출툴이 실행되어, 방금 떨어뜨린 CNS파일들에서 BMP 파일을 추출해냅니다.
다만, 여기서 약간의 문제가 발생합니다.
몇몇 특정 파일의 경우, 추출이 실패하여 BMP파일이 0kb로 나오는 경우가 있습니다.
진짜 문제는 위처럼 cns 추출이 실패하는 경우, 해당 cns 파일에서 프로그램이 종료됩니다..
위 사진이 실패한 부분입니다.
btl_f1.cns.bmp 파일이 추출에 실패해서 0kb가 나왔고, 그 뒤 파일들은 bmp 파일이 없습니다.
즉 추출실패마다 프로그램이 종료되기에... 실패한 바로 뒷 파일부터 다시 cns110.exe에 드래드 & 드롭해주셔야합니다.
한 7~8개정도? 추출실패가 있었던걸로 기억합니다...
이런식으로 모두 추출을 마치시면, 아래와 같이 환세취호전 게임 스프라이트들을 보실 수 있습니다. (BMP파일)
3. MLK/WLK 파일 추출
MLK/WLK 파일 추출 프로그램입니다. (wlkkni11.lzh)
파일 출저 : https://www.vector.co.jp/soft/win95/game/se070467.html
음원 추출 파일은 구동이 좀 까다롭습니다.
Windows 95 시절 개발된 프로그램이라, 16비트 프로그램입니다.
64bit 운영체제에서는 호환성 변경/관리자 권한 등등을 해봐도 실행이 불가능합니다.
보통 이런 경우에는 16bit를 지원하는 xp 이하 윈도우를 실행한 후 거기서 프로그램을 실행시켜야 합니다 ㅠㅠ
그래서 원래는 가상머신(VMWare/VirturlBox 등)으로 해당 운영체제를 실행하셔야하나...
다행히 Doxbox를 이용하여 16Bit 프로그램의 구동이 가능하여, Dosbox를 이용하여 추출해보겠습니다.
* Dosbox를 이용한 16bit 프로그램 실행법 출저 : http://egloos.zum.com/ZEED/v/2053710
우선 아래 링크에서 도스박스를 다운받아 설치합니다.
Dosbox 공식 다운로드 링크 : https://sourceforge.net/projects/dosbox/files/latest/download
그리고 MLK/WLK 추출툴(wlkkni11.lzh)을 압축 해제 후, 빠르게 접근할 수 있는 위치로 옮겨둡니다.
저는 C:\wlkkni11 폴더를 만든 후, 해당 폴더에 wlkknife.exe 파일과 MLK/WLK 파일들을 옮겨두었습니다.
(참고로 도스박스는 파일명/디렉토리명을 최대 8글자까지만 인식합니다. 파일명 8글자 넘는 곳에 옮겨두지 마세요)
이제 도스박스를 실행시켜, 해당 프로그램을 실행해보겠습니다.
도스박스가 켜지면, 기본 Z:\ (Z드라이브)로 되어있으므로, C드라이브로 변경해주어야 합니다.
아래 두 명령어를 순서대로 입력하시면 됩니다.
mount c c:\
c:
그 다음 cd 명령어로 wlkkni11 폴더로 이동합니다.
cd wlkkni11
해당 폴더로 이동하셨다면, wlkknife 파일을 구동합니다.
wlkknife
구동하면 뭔가 이상한 글들이 뜨는데.. 원래 일본어 윈도우에서 실행되던 프로그램이라 글이 깨지나봅니다.
뭔가 입력하라고 뜨는데, 저는 그냥 입력하는곳 두개 다 MLK/WLK 파일이름을 입력하였습니다.
이렇게 하면 wlkkni11 폴더에 WAV 파일과 MID 파일이 추출되어 생성된 것을 확인할 수 있습니다.
이렇게 해서 스프라이트/음원 추출을 모두 하였습니다.
뿌요뿌요2도 같은 방식으로 추출이 가능하였으므로, 아마 대부분의 컴파일 게임이 가능하지 않을까합니다.