KOEI/삼국지 시리즈

삼국지10PK 스팀 중문판에 한글 출력시켜본다.

K66Google 2021. 12. 14. 13:55

 

* 알림

본 게시물은 삼국지10PK Steam 중문판에 한글판 데이터를 이식하는 과정을 담고 있습니다.
한글패치 방법만 알고 싶은 분은 스크롤을 내려서 본문 최하단으로 가세요.

 

삼국지10PK 스팀판은 일본어판과 중문판만 발매되어 있고 한글판은 발매되지 않았다.

다만 파일 구조는 스팀판이나 기존 패키지판이나 변한 것이 없으므로, 어떻게든 한글판 파일을 잘 이식시키면 스팀판 삼국지10PK에도 한글 출력이 가능할지도 모르겠다는 생각이 들었다.

한글 출력만 가능하다면, 기존에 내가 작업했던 삼국지9PK 중문판 한글화(링크) 때 처럼 윈도우10에서 secdrv.sys 패치 작업 없이도 플레이가 가능하다는 장점이 생긴다.

 

일단 스팀판 구입을 하기전에, 패키지판부터 구해서 폰트 구조부터 파악해보기로 했다.

중문판에 한글판 폰트 파일(FontB.s10) 을 덮어씌워본다.

 

그렇게 하니 삼국지9PK 중문판 한글화때와 마찬가지로 폰트가 개발새발로 찍혀나오고 있다.

이번에도 중문판에 호환되는 한글 폰트를 만들어야 할 것 같다.

 

 

* 삼국지10PK 폰트 구조

FontB.s10 파일을 Crystaltile2로 열어보면 폰트를 확인할 수 있다.

총 5개의 파트가 있다. 표로 정리하면 다음과 같다.

 

공통 너비 x 높이 중문판 오프셋 한글판 오프셋 (가각간 부분)
N64/MD 4bpp 24 x 24 59130 (一乙丁 부분)
132210 (階 부분)
132C10
팔레트 : 조합 - 흑백(맨아래꺼) 26 x 26 6B70C2 (一乙丁 부분)
7BDB50 (階 부분)
445950
  16 x 16 E04090 (一乙丁 부분)
E67810 (階 부분)
6E4410
  18 x 18 10DB5EE (一乙丁 부분)
1158B50 (階 부분)
84D750
  12 x 12 145DDD8 (一乙丁 부분)
1495D10 (階 부분)
99A710

 

階(섬돌 계) 가 속한 오프셋을 분석해야 하는 이유는, 이 글자의 중문번체 인코딩(Big5, CP950) 헥스코드가 B0A1이기 때문이다.

B0A1은 한국어 인코딩(EUC-KR, CP949)의 '가' 자가 쓰는 헥스코드이기도 하므로, 이 글자를 기준 잡고 한글 폰트를 삽입해야 한다.

 

이제 한글판 폰트 파일에서 폰트 bmp를 추출하고, 중문판 폰트 파일에 헥스코드가 일치하게 끔 삽입하도록 한다.

 

 

그렇게 하니 비록 외계어지만 적어도 폰트가 이상하게 나오지는 않는다.

이제 한글판 MSG 폴더의 파일들을 복붙해보도록 한다.

 

 

실행파일에 속한 단어들을 제외하고 모두 한국어로 정상 출력 되었다.

중문판에 한글 폰트를 이식하는 작업은 성공하였으니, 이제 스팀판 실행파일에다 한글판 실행파일 내용을 베껴 적는 일만 남았다.

 

 

그러기 위해 먼저 스팀판 삼국지10PK를 구매하기로 하였다...

(발매된지 15년이 지난 게임을 가지고 31,000원에 팔아먹는 돈에이)

 

 

설치하기 전에 게임 속성의 '언어' 탭에 가서 '중국어 번체'로 설정되어 있는 지 확인부터 하였다.

설정한 후에 게임을 설치하고 실행했다. 그런데 창모드가 아니라 전체화면 모드로 실행이 된다.

config.exe 같은 데에도 창모드 실행 옵션이 없었다.

 

 

그래서 레지스트리 편집기에 가서 창모드 레지값을 수동으로 넣었다.

HKEY_CURRENT_USER\SOFTWARE\KoeiTecmo\35th\San10WPK\Configs

여기에 가서 '새로 만들기' - 'DWORD값' 해서 새 값을 하나 만들고 이름은 ScreenMode , 값은 0 으로 설정했다.

 

 

이렇게 하니 창모드로 잘 실행이 되었다.

 

 

이제 스팀판 삼국지10PK 폴더에 아까 만들었던 중문판 호환 한글폰트를 덮어씌우고,

Grp, Movie, msg 폴더에도 한글판 파일을 덮어씌워본다. (한글판 오리지널 / 한글판 PK의 파일들을 모두 가져와서 덮어씌워야 한다. 스팀판은 오리지널/PK를 하나로 통합시켜 놓았기 때문이다.)

 

 

이렇게 하면 메시지나 그래픽 한글화는 완료된다. 남은 것은 실행파일 한글화뿐이다.

 

 

스팀판 실행파일은 다행히도 파일 내부가 패킹되지는 않았다. 그래서 Crystaltile2에서 바로 수정이 가능하다.

테스트 목적으로 단어 하나를 '중지' 로 바꿔보기로 한다. 과연 결과는 어떻게 나올까...

 

 

 

 

안 된다.

스팀에서 키려고 하면 오류코드 51이 뜨면서 실행이 안 되고, 그냥 San10WPK.exe 파일을 열려고 하면 Application load error 3:0000065432 오류가 뜨면서 실행이 안 된다.

DRM 때문에 실행이 안 되는 걸까? 하지만 스팀판 삼국지10PK에 steam_api.dll 같은 파일은 없다.

그렇다면 한글화로 인한 실행파일 내 헥스 변경 때문에 이 문제가 발생하는 것으로 추정해 볼 수 있겠는데... 이를 어떻게 해야 돌파할 수 있을까?

 

 

나는 해답을 신장의 야망 창조 전국입지전 실행파일 한글화 게시물(#) 에서 찾았다.

해당 게시물에 SteamDRMP.dll라는 게 언급되어 있어서, 그게 무슨 파일인가 하고 구글링을 해봤더니 '스팀리스'라는 프로그램을 찾을 수 있었다.

그래서 그 프로그램을 받아서 실행파일을 언패킹하니 성공적으로 언팩되었다. 이렇게 하면 실행이 될까?

 

 

 

 

잘 된다.

Crystaltile2로 수정한 '중지'도 성공적으로 반영되어 있다.

언패킹을 하면 실행파일 변조 검사가 빠지면서 정상 실행이 되는 모양이다.

 

 

이제 남은 건 베끼기 작업 뿐이다. 그런데 삼국지9PK에 비해 분량이 너무 많다...

그래서 일단은 게임 플레이에 지장이 없는 수준까지만 베끼고 남은 건 나중에 시간날때 천천히 베끼기로 한다.

(그리고 훗날 정발판 실행파일 기반으로 교체하면서 이 작업은 헛짓거리가 되었다)

 

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

실행파일 한글화.

 

런처 한글화. (타이틀 개선)

아무튼 이렇게 한글판에서 베끼기를 마친 실행파일과 한글 폰트 등을 아래에다 첨부한다.

 

<스팀 중문판 삼국지10PK 호환용 한글폰트 및 실행파일 패치>

 

여기 클릭 (Google Drive)

( 비번 : san10wpk )

 

 

* 주의사항

이 패치에는 [스팀 클라우드 지원]을 위한 파일을 포함하고 있습니다. 스팀 클라우드 지원이 필요없는 분들은 압축파일 내의 설명 텍스트 파일을 참조해 주시기 바랍니다.

 

 

* 간단한 설치방법

(자세한 설치 방법은 압축파일 내의 텍스트 파일을 참조하세요.)

 

1. 첨부한 압축파일 내의 모든 파일을 스팀 중문판 삼국지10PK 폴더에 덮어씁니다.

 

2. 한글판(정식발매판) 삼국지10 오리지널의 GRP, MOVIE, MSG 폴더

한글판(정식발매판) 삼국지10 파워업키트의 GRP, MOVIE, MSG 폴더를 스팀 중문판 삼국지10PK 폴더에 통째로 덮어씁니다.

(정발판 파일이 없거나 귀찮으면 여기에서 받아서 덮어씌우세요. 비번은 san10wpk 입니다.)

 

3. 스팀에서 '플레이' - 런처에서 '게임 시작' 을 눌러서 실행을 확인합니다.

 

 

<스팀 중문판 삼국지10PK 레지스트리>

삼국지10PK 스팀중문판 레지스트리.reg
0.00MB

백업용 레지스트리 파일.

InstallInfo는 자신의 컴퓨터에 맞게 수정하세요. 스팀판은 맨 끝에 \이나 \\를 붙이지 않습니다.

 

 

* 변동사항

2021.12.16 배포 파일 완성.

2021.12.17 티스토리 배포 시작.

2021.12.19 24x24 폰트 재작업. / 삼국지 도원결의 카페 배포 시작.

2021.12.26 런처 작업표시줄 제목 한글화.

2022.02.15 런처 타이틀 이미지 개선 및 환경설정 개편.

2022.05.11 일기토에서 무기 -> 기량으로 수정.

2022.05.17 정발판 실행파일 기반으로 교체. 스팀 클라우드 지원 파일 추가.