KOEI/삼국지 시리즈

삼국지 1편, 2편에 한글을 출력시키기 위한 삽질기록. (4부)

K66Google 2022. 4. 20. 21:36

- 3부에 이어서 계속... -

 

 

 

12. 삼국지2 한글화 작업

 

삼국지1 한글화를 그만두고, 나는 삼국지2 한글화 쪽으로 방향을 틀었다.

먼저 작업하기로 한 것은 오프닝에 올라가는 스크롤 문장이었다.

PC98판 OPENNING.DAT 파일에서 대사 그래픽을 추출하고, 포토샵으로 수정한 뒤 다시 넣어주면 될 것으로 보였다.

그래서 도스판 삼국지2의 OPENNING.DAT를 열어봤는데... 어라? 한국어 오프닝 대사가 아니라 중국어 오프닝 대사가 들어가 있었다.

 

 

한국어 오프닝 대사는 OPMSG.DAT 여기에 있는 걸로 추정되는데... 열어봐도 도저히 한국어 대사가 보이지 않았다.

그래서 어쩔 수 없이 직접 게임을 켜고 베껴 적기로 하였다.

 

 

오프닝 대사가 다 지나가고 나오는 주요 장수 소개에서 약간의 문제가 있었다.

PC98판은 한 글자씩 타자 치듯이 입력되서 나오는데, 여기에 1바이트 글자(ASCII)가 들어가면 그 뒤의 글자들이 깨져서 나오는 것이었다.

이건 띄어쓰기를 전각 띄어쓰기(81 40)로 대체하고, 말줄이기 신공을 쓰는 것으로 해결하였다.

 

 

삼국지2의 실행파일(MAIN.exe)은 정말 다행히도!!! 모든 문장이 정규 코드인 Shift-JIS를 쓰고 있었다.

 

 

그러나 한글판 실행파일은 비스코가 고유코드를 사용했는지 확인할 수가 없었다.

따라서 비스코 정발판에서는 오프닝 대사, 시나리오 제목, 장수이름 정도만 참고하고 나머지는 어쩔 수 없이 하나하나 직접 번역하기로 하였다.

 

 

삼국지1에서 나를 답답하게 했던 명령표 단어들도 삼국지2에서는 전부 실행파일 속에서 알아볼 수 있게 나와 있었다.

 

 

신군주로 시작 시 이름을 입력하는 부분이 있다.

이때 한국어 입력을 지원하기 위해 내가 삼국지4와 삼국지5 한글화때 썼던 기술을 동원해보기로 하였다.

삼국지2 PC98판에선 가나 문자를 입력하라고 할때 Ctrl + V를 누르면 히라가나 목록이 뜬다. 뜨는 목록은 あ부터 ん까지다. 이걸 Shift-JIS 코드로 바꾸면 82 9F ~ 82 F1까지다.

이 코드가 어쩌면 바이트 플립되서 실행파일 안에 들어가있지 않을까? 하는 심정으로 9F 82라고 검색해봤더니... 있었다.

그 위에는 F1 82도 있는 걸 보니 여기가 이름 입력을 담당하는 부분이 확실하다.

 

그래서 나는 F1 82FC 94로, 9F 829E 88로 바꾸었다.

9F 88이 아닌 9E 88로 쓴 이유는 공백 문자가 있어야 한 글자·두 글자의 이름도 입력할 수 있기 때문이다.

 

 

이렇게 하니 한글 목록이 잘 출력되어 나오는 걸 확인할 수 있었다. 마지막 글자인 '힝' 을 넘겨버리면 버그가 걸리는 문제가 있지만 이건 플레이어가 주의하면 될 일이다.

 

 

아무튼 이런 식으로 삼국지2 한글화는 순조롭게 진행되었고 장수 이름 한글화만 마치면 다 끝나는 그때!

중대한 문제가 발생하고 말았다.

 

 

 

13. 저장 시 게임이 멈추는 문제

 

게임에서 저장을 하려고 하면 멈춰버린다.

BGM은 계속 재생되고, 세이브 디스크에는 아무런 손상도 가지 않았다. 그냥 게임이 멈추는 것 뿐이다.

 

청천벽력같은 일이었다.

어떻게 여기까지 왔는데, 이것도 중단해야 된단 말인가?

그나마 삼국지1은 미완성 한글패치라도 내놓을 수 있었는데, 삼국지2는 그냥 도스판에 세이브 파일만 스팀 클라우드에 올리는 걸로 퉁쳐야 된단 말인가?

 

나는 염치를 무릅쓰고 코에이 게임 구조에 빠삭한 고수들만 있다는 '코에이 게임 연구소' 카페에 문의를 남겼다.

문의의 내용은 대충 이렇다.

 

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

첫 글부터 어려운 질문을 하게 되서 송구스럽게 생각한다.

나는 스팀판 삼국지 한글 출력 패치를 만드는 사람이며, 지금은 삼국지2 작업중이다.

그런데 작업한 삼국지2에서 저장을 하려고 하면 게임이 멈추는 현상이 발생했다.

삼국지2 A디스크가 anxdiet에서 열리지 않기 때문에, 독립전쟁 한글패치에서 일부 파일만 남기고 거기에 삼국지2 A디스크 파일을 넣어서 작업하고 있다.

 

그런데 인터넷에서 98ripper라는 프로그램을 발견해서 삼국지2 A디스크를 추출시켜보니까 dos.sys라는 파일이 나왔다.

 

 dos.sys에 KOEI 라는 글씨가 있는 걸로 보아 코에이에서 만든 파일로 보이며, 어쩌면 이 파일때문에 저장이 안되는 것일지도 모르겠다.

 

세이브 파일명은 SANGOKU2.SAV이며, main.exe에서 세이브 파일명이 언급되는 부분은... (생략)

 

아래에 작업한 디스크와 폰트 파일을 첨부한다.

 

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

 

이렇게 썼다.

워낙 어려운 질문이라 그런지 고수들 또한 확답을 내리기 어려운 상태였다.

그렇게 글을 쓴 다음 날 밤, 나는 잠이 들기 전 갑자기 이런 생각이 떠올랐다.

 

"플로피 디스크(FDI)에서 하드 디스크(HDI)로 파일 복사가 가능한가?"

 

이것은 맞다.

당장 hdi에 설치한 MS-DOS를 통해 fdi의 파일을 모두 hdi로 복사한 적도 있지 않은가.

 

 

"그럼 하드 디스크(HDI)에서 플로피 디스크(FDI)로 파일 복사도 가능한가?"

 

...아마 가능은 할 것이다.

anxdiet에서 열리는 FDI 파일은 드래그해서 파일을 넣을 수 있으니까...

 

 

어? 그러고보니...

맨 처음에 삼국지2 A디스크 데이터를 꺼내려고 MS-DOS상에서 copy 명령어로 hdi에 복사하지 않았던가?

그렇다면 그 역으로 hdi에 있는 파일을 copy 명령어로 fdi에 복사하는(덮어쓰는) 것도 가능하지 않을까?

anxdiet에서 삼국지2 A디스크 파일은 보이지 않는다. 그러나 MS-DOS 상에서는 해당 파일들이 보인다.

그렇다면...

 

 

자고 일어난 다음날 아침,

MS-DOS가 깔린 hdi에 내가 한글패치 작업을 한 main.exe / open.exe / taiki.dat 파일을 넣었다.

 

그리고 FDD1에 삼국지2 원본 A디스크를, HDD1에는 MS-DOS가 깔린 hdi로 지정하고

'HDD -> FDD'에 체크하고 에뮬레이터를 시작하였다.

 

 

이렇게 한 뒤 copy 명령어를 통해 a드라이브(hdi)의 3개의 파일을 b드라이브(fdi)에 모두 복사하였다.

덮어쓰기할 거냐고 묻는 질문에는 y로 대답했다.

 

그렇게 하고 다시 삼국지2를 실행해서 저장이 되는 지 확인했다.

결과는... 아주 잘 된다!!!!!!!

저장 시에 게임이 멈추는 현상은 없어졌다. 추측건대 삼국지2의 저장 기능은 MS-DOS가 아닌 코에이가 만든 자체 도스(dos.sys)에서만 정상적으로 돌아가도록 설계되어 있었던 모양이다.

 

일단 코에이 게임 연구소에는 문제가 해결되었다고 보고하고 남은 한글화 작업을 마저 진행하기로 하였다.

 

 

 

14. 마무리

 

저장 문제로 인해 잠시 중단하고 있었던 장수 이름 한글화도 모두 끝냈다.

 

 

장수의 가타카나 음독은... 그냥 반각 가타카나 문자들을 폰트 상에서 공백으로 처리하는 걸로 끝냈다.

일일이 시나리오 파일마다 들어가서 바꾸고 있을 시간이 없으니 그냥 이렇게 처리하는 것이 편하다.

 

아무튼 이런 복잡한 과정을 지나서...

 

 

마침내 삼국지2 스팀판 한글 출력 패치를 배포할 수 있게 되었다.

비록 스팀 한국 계정으로 삼국지2를 구입하는 건 이제는 못 하게 되었지만, 늦게나마 스팀판 삼국지 1~10편의 한글 출력을 모두 이루게 되었다는 점은 굉장히 뜻깊게 생각한다.

작년 12월에 시작해서 약 4개월 동안 달려온 스팀판 삼국지 한글 출력 도전!

이제 정말로 끝났다.

너무 오랫동안 열중해서 그런지 이제는 좀 쉬고 싶다.

그럼 이만...

 

 

- 삼국지 1편, 2편에 한글을 출력시키기 위한 삽질기록. (完) -