1편에 이어 2편의 한글화 테스트입니다. DVD로 발매된 소스넥스트의 XP 대응 일본어판으로 테스트해 봤습니다. 9X 버전은 제가 없어서 확인해 볼 방법이 없네요.

색상 지정을 잘못했는지 옅은 회색으로 글자가 나와야 하는데 보라색으로 나오는군요-_- 이건 뭐 다시 작업하면 되는 거고 일단 이렇게 한글 출력은 가능합니다. 저도 분석이 완벽하게 끝난 건 아니지만 제가 작업할 것도 아니고 하니 상세한 분석은 생략하고 간략하게나마 한글화 방법을 설명하겠습니다.

일단 이 사이트에서 BIOFAT과 ADT PACKER를 다운 받으세요. 바이오하자드에서 사용하는 파일들의 압축/재압축을 할 수 있는 툴입니다. 해당 툴 말고도 사이트 자체에 바이오하자드의 modification에 대한 정보가 많으니 참고하셔도 좋을 겁니다.


TIMViewer104b.rar


그리고 이 첨부 파일도 받습니다. ps1에서 사용하는 그래픽 포맷인 tim 파일을 bmp로 변환/역변환 할 수 있는 프로그램입니다. pc용 게임에 웬 ps1 툴이냐고요? ps1의 리소스를 거의 그대로 사용하기 때문에 그렇습니다. 바꿔 말하면 pc용 한글화 데이터를 ps1에 응용할 수 있다는 뜻이기도 합니다만 지금은 ps1 버전에 대한 것은 생략하겠습니다.





1. 폰트 추출 및 고유 코드 분석

그럼 설명에 들어가겠습니다. 일반적으로 유니코드를 사용하는 요즘 게임과는 달리 자체 폰트에다 고유 코드를 사용하는 게임이고 수정할 부분이 광범위하게 퍼져 있어서 한글화하기에 조금 까다롭습니다. 그러니 콘솔 게임 한글화에서 주로 사용되는 고유 코드에 할당된 일본어 폰트를 한글 폰트로 대치해서 사용하는 방법을 사용해 보겠습니다.

폰트는 ...\BIOHAZARD 2 PC\common\Data에 들어있는 font0.adt, font1.adt, font2.adt, font3.adt, font4.adt, font5.adt, font6.adt, font7.adt 입니다. 동일 파일명의 확장자가 tim으로 된 파일도 같은 내용의 폰트 파일이지만 실제로 사용하지는 않는 걸로 보입니다. 혹 게임 도중에 사용될지도 모를 일이니 adt 파일과 동일하게 수정하면 될 겁니다. 어쨌든 BIOFAT로 adt 파일의 압축을 풀면 다음과 같은 bmp 파일이 나옵니다.







그리고 아래는 tim 파일을 bmp로 변환한 겁니다.





파일 변환의 문제인지 tim 파일과 비교하면 adt는 하단 16픽셀이 잘려 있고 오른쪽 폰트의 일부가 잘려서 왼쪽으로 넘어가 있는 것을 알 수 있습니다. 그리고 1~7번까지는 동일한 폰트가 존재하는 걸로 봐서는 전부 로딩해 사용하지 않고 특정 지역마다 하나씩만 사용하는 것 같습니다. 이 부분은 작업하실 분이 직접 확인해 보세요 :)

폰트의 고유 코드는 1바이트와 2바이트를 혼용해 사용합니다. 숫자, 영문, 특수기호 등을 제외하면 520여자 정도 사용할 수 있습니다. 약간 모자른 감이 있지만 바이오하자드 정도의 텍스트 분량이면 소화할 수 있을 겁니다. 지역마다 다른 폰트를 로딩하는 거라면 대사에 맞춰 다르게 수정하면 되니 약간 더 여유가 있겠죠. 일단 1바이트 코드는 아래와 같습니다.


00=공백(띄어쓰기)
01=.
02=▶
03=┌
04=┘
05=(
06=)
07=╔
08=╝
09=“
0A=“
0B=▼
0C=0
0D=1
0E=2
0F=3
10=4
11=5
12=6
13=7
14=8
15=9
16=:
17=、
18=,
19=“
1A=!
1B=?
1C=!?
1D=A
1E=B
1F=C
20=D
21=E
22=F
23=G
24=H
25=I
26=J
27=K
28=L
29=M
2A=N
2B=O
2C=P
2D=Q
2E=R
2F=S
30=T
31=U
32=V
33=W
34=X
35=Y
36=Z
37=[
38=/
39=]
3A='
3B=-
3C=·
3D=a
3E=b
3F=c
40=d
41=e
42=f
43=g
44=h
45=i
46=j
47=k
48=l
49=m
4A=n
4B=o
4C=p
4D=q
4E=r
4F=s
50=t
51=u
52=v
53=w
54=x
55=y
56=z
57=あ
58=い
59=う
5A=え
5B=お
5C=か
5D=き
5E=く
5F=け
60=こ
61=さ
62=し
63=す
64=せ
65=そ
66=た
67=ち
68=つ
69=て
6A=と
6B=な
6C=に
6D=ぬ
6E=ね
6F=の
70=は
71=ひ
72=ふ
73=へ
74=ほ
75=ま
76=み
77=む
78=め
79=も
7A=や
7B=ゆ
7C=よ
7D=ら
7E=り
7F=る
80=れ
81=ろ
82=わ
83=を
84=ん
85=が
86=ぎ
87=ぐ
88=げ
89=ご
8A=ざ
8B=じ
8C=ず
8D=ぜ
8E=ぞ
8F=だ
90=ぢ
91=づ
92=で
93=ど
94=ば
95=び
96=ぶ
97=べ
98=ぼ
99=ぱ
9A=ぴ
9B=ぷ
9C=ぺ
9D=ぽ
9E=ぁ
9F=ぃ
A0=ぅ
A1=ぇ
A2=ぉ
A3=ゃ
A4=ゅ
A5=ょ
A6=っ
A7=ア
A8=イ
A9=ウ
AA=エ
AB=オ
AC=カ
AD=キ
AE=ク
AF=ケ
B0=コ
B1=サ
B2=シ
B3=ス
B4=セ
B5=ソ
B6=タ
B7=チ
B8=ツ
B9=テ
BA=ト
BB=ナ
BC=ニ
BD=ヌ
BE=ネ
BF=ノ
C0=ハ
C1=ヒ
C2=フ
C3=へ
C4=ホ
C5=マ
C6=ミ
C7=ム
C8=メ
C9=モ
CA=ヤ
CB=ユ
CC=ヨ
CD=ラ
CE=リ
CF=ル
D0=レ
D1=ロ
D2=ワ
D3=ヲ
D4=ン
D5=ガ
D6=ギ
D7=グ
D8=ゲ
D9=ゴ
DA=ザ
DB=ジ
DC=ズ
DD=ゼ
DE=ゾ
DF=ダ
E0=ヂ
E1=ヅ
E2=デ
E3=ド
E4=バ
E5=ビ
E6=ブ
E7=ベ
E8=ボ
E9=パ
EA=ピ
EB=プ
EC=ペ
ED=ポ
??=ァ  - 불확실
??=ィ  - 불확실
??=ゥ  - 불확실
F1=ェ
F2=ォ
F3=ャ
F4=ュ
F5=ョ
F6=ッ
??=ヴ  - 불확실



F7~FF는 제어코드로 보입니다. 1편의 경우, 이 부분에 2바이트 코드를 할당했었습니다.  불확실로 표기한 부분인 EE~F0는 2바이트 제어 코드입니다. 그 부분에 해당하는 문자는 2바이트로 처리되는 것 같습니다. 1바이트 문자들도 2바이트 값을 갖는 것 같은데 그 부분까지는 분석하지 않았습니다. 2편의 2바이트 코드는 아래와 같습니다.



EE10=L2
EE11=R2
.
.
.

EF01=形
.
.
.
EF9D=人
.
.
.
EFF7=間
.
.
.
F002=誰
.
.
.


폰트와 비교해 보면 알겠지만 뒷자리 값이 00~FF까지 순차적으로 증가하지 않습니다. 직접 대입해 보면서 노가다로 찾아야 하는데 찾기 귀찮은 관계로 이 부분도 작업하실 분의 몫으로 남겨 놓겠습니다ㅋ





2. 대사 추출 및 번역

고유 코드를 다 찾았으면 다음은 대사 파일입니다. 사실 대사 번역을 먼저 해야 글자 수를 추릴 수 있기 때문에 고유 코드 확인 후 가장 선행되어야 하는 작업이지요.

...\BIOHAZARD 2 PC\pl0\Rdt\ (레온)
...\BIOHAZARD 2 PC\pl1\Rdt\ (클레어)

폴더에 들어 있는 rdt 확장자 파일의 압축을 풀면 message 폴더에 대사가 들어 있습니다. 확장자 msg 파일을 고유 코드 테이블을 만들어 Translhextion 같은 프로그램을 이용하든 직접 프로그램을 작성하든 해서 대사를 추출하면 됩니다. 앞의 3바이트와 뒤의 4바이트는 제어 코드입니다. rtf 파일에 일본어 원문이 들어 있기는 한데 코드 변환용인지 일부 한자가 엉뚱하게 나오니 유의하세요. 아이템명이나 기타 지문은 실행 파일의 0x12E528~0x13E63F에 있습니다.

참고로 고유 코드 분석시 값이 애매한 부분이 있으면 초반부 대사에 의심되는 코드를 넣어서 맞게 나오는가 확인하는 방식으로 확인 못한 고유 코드를 찾는 방법도 있습니다.





3. 폰트 수정 및 재압축

대사 추출과 번역이 끝났으면 번역본에서 글자 수를 추려 폰트 파일을 한글로 수정합니다. 포토샵 등을 이용해 간격에 맞춰 수정하면 되겠죠.

수정 후 재압축 과정이 조금 까다로운데 잘 따라하세요.
http://z4.invisionfree.com/Resident_Evil_1_2_3/index.php?showtopic=687&st=0
이곳에 영문으로 된 설명도 있습니다.


adt의 압축을 풀면 아래와 같은 320x240 픽셀의 bmp 파일이 나옵니다. 원본 색상에 맞춰 한글로 폰트를 수정하고 오른쪽 그림처럼 분할해야 합니다. 참고로 저는 테스트 목적이기 때문에 일부만 한글로 수정했습니다.  




우측의 64 픽셀을 잘라내서 가로 256 픽셀로 만들고 세로 240 픽셀에 16 픽셀을 더해서 256x256 픽셀로 만듭니다. 이것을 그림으로 나타내면 아래와 같습니다.





앞서 설명했지만 adt 변환툴의 문제인지 하단 16 픽셀이 잘려 있는 공간을 만들어 준 건데요, 빈 부분은 tim 퍄일에서 가져오면 아래처럼 됩니다.





그리고 아까 잘라낸 64x240 부분을 또 잘라서 128x128 공간에 아래의 그림처럼 만들어 줍니다. (그냥 검은색 빈 공간이 아니니 유의하세요.)





이렇게 만든 두 개의 bmp 파일을 timviewer로 16bpp로 변환 후 tim 파일로 만듭니다. 변환된 두 tim 파일을 헥스 에디터로 열어서 앞 부분 20바이트를 잘라 내고 128x128 픽셀의 tim 파일의 헥스 데이터를 256x256 tim 파일 헥스 데이터에 끝에 붙여 넣고 저장합니다. 저장한 파일을 adt packer를 이용해 압축하면 끝입니다.





4. 대사 입력

이제 번역문을 msg 대사 파일에 입력하는 것만 남았습니다. 참고로 테스트용 폰트는 아래처럼 수정했습니다.

57 = あ = 쏘
58 = い = 지
59 = う = 마
5A = え = 임
5B = お = 마


オ    レ    は    人       間      だ 
AB   D0   70   EF9D   EFF7   8F

이런 원문을 '쏘지 마, 임마!' 로 고친다면 고유 코드에 맞춰서


쏘    지         마    ,     임    마    !
(あ) (い) (  ) (う) (,  ) (え) (お ) (!)
57    58    00   59   18   5A   5B   1A

이런 식으로 헥스값을 수정하면 되겠죠.
그리고 대사 앞에 있는 공백 수를 조절해서 대사를 화면 중앙에 맞추면 됩니다.



다른 대사도 이렇게 수정하면 됩니다만 ...이걸 전부 헥스 에디터로 수정한다면 말도 안 되는 일이겠고 Translhextion 처럼 테이블 기능이 있는 프로그램을 쓰거나 직접 고유 코드에 맞춘 입력툴을 작성해서 수정하면 됩니다.

그리고 이미지 자체에 텍스트가 들어간 경우는 adt나 tim 파일을 변환해 직접 그래픽을 수정하면 됩니다. 이러한 파일들도 작업하실 분이 직접 찾아보세요 :D

동영상 같은 경우는 mpeg1 파일이지만 붙박이 자막이라 opaque box로 자막 작업을  해야 할 것 같습니다.



-------------------------------------------------------------

이상 간략한(?) 바이오하자드 2 한글화 방법이었습다. 바이오하자드 3도 비슷한 방법으로 한글화 할 수 있으니 관심 있으신 분들은 시도해 보세요 :)






어때요, 참 쉽죠?



Posted by NSM53 Project

댓글을 달아 주세요

  1. 유키아리 2010.09.10 08:22  댓글주소  수정/삭제  댓글쓰기

    낮에 와봤는데 바하2 게시판이 있길래 설마 했는데 저녁에 포스팅이 되었네요 아직까진 해보진 않았지만 좀짱이시네요 !! 궁금한게 있으면 종종 들러야 겠어요

    • NSM53 Project 2010.09.10 23:39 신고  댓글주소  수정/삭제

      카테고리 열면서 글은 써놨는데 수정 좀 하느라
      지금 공개했습니다. 제 주변에 이걸 기대하는 누군가가
      있어서 그러니 좋은 결과 있으시면 좋겠습니다 :D

  2. D.A. 2010.09.10 19:39  댓글주소  수정/삭제  댓글쓰기

    ㄷㄷㄷㄷ 언젠가 NSM님과 힘을 합쳐 한글패치 하나 내보고 싶군요.

  3. 사막과후식 2010.09.11 19:04 신고  댓글주소  수정/삭제  댓글쓰기

    바하1에 이어 바하2까지 하시다니! 덜덜;;
    바하1의 리메이크인 바하 리버스를 굉장히 재미있게 해서
    2도 기회가 되면 해보고 싶습니다 -3-

    • NSM53 Project 2010.09.13 17:48 신고  댓글주소  수정/삭제

      바하 시리즈는 제대로 해본 게 하나도 없네요OTL
      이카루가 때문에 겜큐브 사려고 알아 볼 때
      바라 리버스도 같이 알아 보기는 했었습니다ㅎㅎ

  4. onion 2010.09.11 20:30  댓글주소  수정/삭제  댓글쓰기

    웬지.. 한글동호회 하나 만드셔도 될거같..(덜덜)

  5. 아스라이 2010.09.14 14:07 신고  댓글주소  수정/삭제  댓글쓰기

    뜬금없는 이야기입니다만, 이때가 참 재밌었어요 이때가. 3편까지도 참 좋았는데, 얼마전 바이오 하자드 4편을 클리어하고 지금 5편을 하고 있는데, 바비오 하자드라기보다는 그냥 총싸움 게임을 하는 듯한... 지능없이 느릿느릿 다가오는 좀비도 아니고 이건 뭐 감염된 사람들이 뛰어다니고 이리저리 피하고 무기까지 쓰고 하는 것을 조준해서 쏴야하니... (갑자기 왠 하소연 모드...?) 마지막으로... 밥아저씨... 천진하게 웃고계시네요.(속으로는 과연 네놈들이 이걸 할 수 있을까? 하면서 말이죠 크르릉~)

    • NSM53 Project 2010.09.15 14:07 신고  댓글주소  수정/삭제

      듣기로는 시리즈 중에서 2편이 가장 좋았다고
      하더군요. 갈수록 호러보다는 액션에 치중한다는
      얘기도 많이 들리고요. 이래저래 연이 안 닿아
      제대로 해보지는 못했지만요ㅎㅎ

  6. 유키아리 2010.09.19 15:04  댓글주소  수정/삭제  댓글쓰기

    C:\Program Files\CAPCOM\BIOHAZARD 2 PC\common\file
    >> file00.bin 을 BIOFAT.EXE 파일로 압축 풀고 나면 TIM 파일이 나오거든요 그다음에 포토샵으로 TIM 파일 수정후 재압축하고 게임 들어가서 열어보면 팅기는데 방법이 있을까요 ?또는 TIM 파일 전용 수정기가 있을려나 .. 포토샵으로 수정하면 파일 용량이 좀 바뀌던데 이것 때문에 고민 이라는.

    • NSM53 Project 2010.09.19 16:27 신고  댓글주소  수정/삭제

      tim 파일을 포토샵 플러그인으로 직접 수정한 건가요,
      아니면 timviewer로 bmp 변환 후 다시 tim으로
      변환한 건가요?

      전자라면 그 플러그인에 약간 문제가 있습니다.
      헥스 데이터를 수정할 줄 아신다면 수정 전후로
      데이터가 어떻게 변하는지 분석해서 수정하면 되고요
      아니면 안 쓰는 게 좋습니다.

      timviewer로 작업한 건데 그런 문제가 발생하는
      거라면 저도 잘 모르겠네요. 개인적으론 팔레트가
      잘못되어서 색상이 이상하게 나온 적은 있어도
      실행에 문제가 생긴 적은 없었습니다.
      아니면 원본과 다른 bpp 변환을 하면 그럴 수도
      있으니 한번 확인해 보세요.

      그림판 수준의 tim 파일 에디터가 있기는 한데
      어디서 봤는지는 생각이 안 납니다-_____-;;
      이것도 한번 검색해보시길.

  7. 치르노 2010.11.02 21:16  댓글주소  수정/삭제  댓글쓰기

    저.. 바하3 를 번역하고픈데..
    바하 3 는 모두 DAT파일로 되잇네요
    이건 어케 해야 하죠 ㅠ
    BIOFAT 에 바하 리버스 버젼 DAT 파일 압축푸는게 있었지만 할수는 없었어요..
    즉 모두DAT파일로된 바하3 를 번역하려면 어케 해야하나요..

    • NSM53 Project 2010.11.02 23:14 신고  댓글주소  수정/삭제

      일단 저는 바하3가 없어서 정확한 답변을 드리기
      어렵습니다. BIOFAT 메뉴를 보고 2편과 비슷한
      구조로 되어 있을 거라고 추측한 건데
      전부 DAT로 묶여 있나 보네요?

      메뉴에서 각 포멧 인/디코딩이 지원되는 걸 봐서는
      DAT 패킹/언패킹 관련해서
      http://z4.invisionfree.com/Resident_Evil_1_2_3/index.php?act=idx
      쪽에 정보가 있을 것 같으니 참고해 보세요 :)

  8. 무명 2011.01.09 06:03  댓글주소  수정/삭제  댓글쓰기

    오랜만이네요. 이걸 뜯어보셨군요. 바하3는 더 난감합니다. ff7처럼 폰트가 겹쳐서 만들어져있습니다. 기존에 만들어진 ps1용 폰트가 있을 겁니다. 그걸 참고하셔도 좋을 듯 하네요. 포샵 플러그인만 좀 제대로 만들어져 있음 어찌 될듯도 한데요.

    • NSM53 Project 2011.01.10 00:51 신고  댓글주소  수정/삭제

      3편은 다중 팔레트로 되어 있나보군요.
      3편은 갖고 있지 않은 데다 1, 2편도 테스트 용도로
      잠깐 분석해본 거라 깊게 파보지는 않았습니다.

      포샵용 tim플러그인이 워낙 오래된 거라 그런지
      호환 등에서 문제가 좀 있더군요. 작업 후에
      Hex 에디터로 유실 부분을 수정하는 경우도
      있었습니다 ㅎㅎ

  9. 무명 2011.01.27 00:34  댓글주소  수정/삭제  댓글쓰기

    한글화방법을 이렇게 써주시니 친절하시군요.

  10. 지나가는행인리버스 2011.02.05 19:12  댓글주소  수정/삭제  댓글쓰기

    잘 읽고 잘받고 갑니다.

    한글화 고맙습니다.

    바이오하자드 다시한번 하네요^^;;

  11. DK 2012.02.04 14:41  댓글주소  수정/삭제  댓글쓰기

    저기 죄송하지만 아직도 Bio2Fat이 있을까요?
    있으시다면 보내주실수 있으세요?

    • NSM53 Project 2012.02.13 01:40 신고  댓글주소  수정/삭제

      본문에 링크가 있습니다.
      http://z4.invisionfree.com/Resident_Evil_1_2_3/index.php?showforum=7

      여기를 가보시면 Bio2Fat 말고도 다양한
      유틸이 있습니다 :D