안녕하세요. 눈팅회원 Bittersweet1 입니다. 음... 저는 우선 레이맨오리진이라는 게임으로 한글화를 처음 시도 했구요. 혹시나 해서 뒤져보니 쩌새님께서 먼저 한글화 시도를 해놓으셨더군요.. ㅎㅎ
아래의 꼼수님의 강좌와 XeNTax , Rayman PC사이트를 통해서 각종 툴과 정보들을 수집하고 한글화 해 봤습니다. 이왕이면 XBOX용 게임이면 좋았을텐데, 아쉽게도 XBOX용 레이맨 오리진은 DDS파일이 패킹된 상태여서 현재 나온 툴로는 한글화가 어려운것 같습니다. 저는 아직 패킹된 파일을 분석하고 extract 할 능력이안되서 ㅜㅜ..
어쨌든 제가 여기 글을 올리는이유는 게임마다 한글화 방식이 약간씩 차이가 나고 저같이 한글화 초보들에게는 여러가지 한글화 방식에 노출될 필요가 있다고 생각해서 글을 씁니다.
**필요한 툴 1.Quick_BMS & rayman origins unpack script (ipk파일의 압축해제, 압축) 2.Paint.NET (폰트파일수정) 3.rayman_text_export/rayman_text_importer (자막파일의 압축해제와 압축) 4.MadEdit
5.레이맨오리진 PC판
**강좌시작 1.우선 제가 첨부파일로 올려놓은 압축파일을 푸시고나면 ipk_import폴더가 있습니다. 그 폴더에 PC판 레이맨을 설치한 경로에서 bundle_PC.ipk파일을 복사합니다.
복사하시게 되면 아래그림과 같은 구조가 될겁니다.
추가적으로 ex폴더는 ipk의 압축을 풀었을때 output폴더이구요. 저는 이미 압축을 풀어서.. ex폴더가 생긴겁니다.
2.extract.bat를 실행하여 bundle_PC.ipk파일의 압축을 풉니다. 다풀리면 ex폴더안에 ipk파일에 압축된 모든 파일들이 풀려있습니다.
우리는 폰트파일과 폰트정보를가진파일 그리고 자막파일만 수정할것이므로 아래에 설명해놓은 3가지 경로를 제외한 모든파일들은 다 지웁니다. (모든 파일을 수정하고 재압축할때 빠르게 재압축하기 위해서 수정한 파일만 남기는과정)
(1)ex\itf_cooked\pc\misc\fonts\font02_0.tga.ckd
(2)ex\localisation\localisation.loc
(3)ex\misc\fonts\font2.fnt
3.폰트파일 수정하기
-ex\itf_cooked\pc\misc\fonts\font02_0.tga.ckd 이 파일은 dds로 되어있는 폰트파일인데요. 우선 dds파일로 이름을 바꿉니다. font02_0.tga.dds 처럼 바꿔주시고 준비된 Paint.NET으로 dds파일을 열어줍니다.
파일을 열어보시면 1024*1024 크기의 그림파일이 아래와 같이 열립니다. 저같은 경우는 이미 한글폰트를 추가한 상태라서 맨윗줄에 한글이 입력되어있습니다. ^^; 이런식으로 기존에 입력되어있는 문자를 지우시고
적당한 크기의 한글을 입력해주세요. 글자가 잘안보이는데 빨간색 테두리를 보시면됩니다.
말이 좀 이상한데요. 폰트정보를 가진 파일이라는것이 이미 꼼수님께서 강좌에서 언급하신내용입니다.
꼼수님께서 소개한 원숭이 섬의 비밀은 일반적인 바이너리 파일안에 각 글자의 상하좌우, 크기, 오프셋등을 지정하지만,
레이맨은 더 쉽습니다. misc\fonts\font2.fnt 이 파일을 수정하기 쉬운 헥스에디터를 이용해서 열어주세요. 아래와 같이
친절하게 설명까지 되어있습니다~ ^^;
파일의 상위 부분만 제가 캡쳐해서 붙여넣었구요. 내용을 잠깐 살펴보겠습니다.
파일의 최상단 부분
info face : 어떤 언어를 사용하는지 표시
unicode : 이 필드의 값을 유심히 볼필요가 있는데요. 보통 컴퓨터에서는 1이 true입니다. unicode가 true라는건 이 게임이 유니코드체계를 사용한다고 유추해볼수가 있지요.
file : 우리가 위에서 수정한 폰트파일입니다.
chars count : 문자의 개수 입니다. 이건 아래에 char id로 시작하는 한행이 하나의 문자이며 그 행들의 합을 나타냅니다. 쉽게이야기하면 아까 우리가 수정한 폰트파일에 기록되어있는 문자의 개수겠죠 ^^;
몇가지 필드는 저도 잘모르겠고, 크게 중요한 필드는 없는 것 같습니다.(ㅠㅠ);
실제 글자 하나하나의 정보를 가진부분
다음으로 char id로 시작하는 부분을 자세히 보겠습니다. 이부분이 상당히 중요하며 우리가 채워넣어야합니다 ^^;
x , y : 우리가 수정한 폰트파일의 x,y좌표입니다. (dds 파일의 좌측 최상단이 0,0입니다.)
width, height : 뿌려줄 문자하나의 가로와 세로길이
xoffset , yoffset : 잘 모르겠더군요. 우선 저는 추가한 문자에 대해서 모두 0 으로 세팅했습니다.
xadvance : 이값을 0으로 잡으면 문자가 이상하게 찍히길래 width와 우선은 같은 값을 주고나니 제대로 출력되는것을 확인했습니다. 지정된 x좌표에서 몇pixel 앞으로 나갈건지 그 값을 정해주는 것 같습니다. (예상)
실제로 글자를 넣어보겠습니다.
(1)저는 우선 게임 처음 시작시 뜨는 press ENTER 라는 부분 ("엔터키를눌러주세요")
(2)게임의 메인메뉴에 쓰일 글자 ( "시작", "옵션", "종료" )
라는 총 15개의 한글 문자를 폰트파일에 입력해놨습니다. 그러면 이제 font2.fnt파일에 우리가 등록한 문자를 추가하는 작업을 해보겠습니다. ^^;
아까 말씀드렸듯 이 게임은 유니코드문자를 사용합니다. char id는 그 문자의 유니코드 코드값이구요.
우선적으로 저는 제가 추가한 15개 문자에 대한 유니코드값을 찾고, 수정한 폰트파일(dds)에서 각 문자의 x,y좌표와 width,height, xadvance를 입력해서 font02.fnt파일에 추가했습니다.
아래쪽이 제가추가한 문자들이구요. 그리고 유니코드 값을 검색하실때 hex값이 나오는데 font2.fnt파일은 char id에 10진수를 사용합니다. 그래서 찾은 hex값을 10진수로 변경하시고 char id에 넣어주면됩니다.
단 여기서 font2.fnt파일의 일부내용을 삭제하시기 바랍니다.(char id 로 시작하는 행들 몇개를 지워주세요.)
최종적으로 ipk파일로 다시 압축할때 우리가 수정한 이 파일의 용량이 이 파일을 수정하기 전의 용량보다 크지 않아야합니다. ( 재 압축할때 툴이 기존 파일의 용량보다 크면 해당파일의 압축을 skip하더군요. )
그리고 파일의 최상단 부분에 chars count를 정확하게 입력해주시구요.
5.마지막으로 번역작업
ex\localisation\localisation.loc 파일은 압축된 형태인데 각 언어별로 자막txt파일을 포함합니다. 제가 첨부한 rayman_text_export.exe 이용해서 loc파일을 여시고 RaymanOriginsText0.txt 이 파일만 추출해내시면됩니다.
RaymanOriginsText0.txt
RaymanOriginsText1.txt
RaymanOriginsText2.txt
RaymanOriginsText3.txt
이런식으로 넘버링이 붙는데 0 이 영어이므로 RaymanOriginsText0.txt 파일만 번역하면됩니다. 파일을 메모장으로 여시고 press ENTER를 검색해서 엔터를입력해주세요 라고 수정하고
start , options , quit game 문자열도 찾아서 우리가 폰트를 추가한 시작 옵션 종료로 바꿔주십니다,
마지막으로 번역한 txt파일을 다시 loc파일로 변경하는것은 rayman_text_importer.exe 실행하셔서 text0.txt를 선택하시고 합쳐질 loc파일을 선택하시면 잠시뒤 완료되었다는 메시지박스가 뜨면서 안내합니다.
이제 폰트추가, 폰트의 좌표나 가로세로 크기를 추가, 번역작업 까지 모두 끝났습니다. 이렇게 수정한 파일을 다시 ipk로 만들어야겠죠.
가장 처음에 첨부한 그림을 보시면 reimport.bat라는 파일이 있을겁니다. 이걸 실행해주시면 우리가 수정한 파일들을 reimport해줍니다. bundle_PC.ipk 를 수정해주는것이죠 ^^;
이제 bundle_PC.ipk파일을 레이맨이 설치된 경로에 덮어써주시고, 레이맨을 실행해서 한글화 되었는지 확인합니다.
예상대로 잘되었네요. ^^
작업하고 바로 글을 올리는거라 두서없이 쓰여진 부분도 있을것같네요 .. ㅜㅜ 긴글 읽어주셔서 감사드리고
항상 좋은 강좌 올려주시는 꼼수님께 감사드립니다.
|