삼국지 인터넷 파워업키트 한글화

기존의 삼국지 인터넷 한글판을 토대로 작업하였으며 공유기 환경에서 방 개설/접속이 안되는 문제도 함께 수정하였습니다.
또한 중문판, 일본판 사용자 시나리오도 한글화 하여 추가해두어 삼국지 인터넷을 즐겨하시는 분들에게는 다양한 모드를 접하실 수 있을 것입니다.

작업 기간 : 1개월
개발 툴 : .SNI/.SPK 시나리오 파일 한글화 매크로, .SWC/.LWC 압축/암호화/해제 프로그램










핏폴 - 마야의 대모험 리팩


핏폴 - 마야의 대모험(Pitfall - The Mayan Adventure)은 Windows XP의 OS에서 효과음이 출력되지 않는 문제가 있었습니다.
문제의 원인이 엉뚱하게도 게임내에서 OS 버전을 체크하여 Windows 95 상위 OS 일 경우에는 WAIL32.DLL 호환성을 염두하여 아예 사운드 기능을 못쓰게 막아버리더군요-_-;
사실 WAIL32.DLL 모듈은 Windows XP 상위 OS 에서까지도 정상작동하는데 말이죠;


따라서 이 부분을 조금 수정하여 사운드 출력이 가능한 상태로 만들었습니다.
그런데 윈도우 사운드 함수를 사용하여 현재 사운드가 재생되고 있을 때 다른 사운드가 재생되면 기존 사운드는 묻혀버리더군요. 이는 DirectShow 기반으로 사운드 출력함수를 매핑하여 가능하도록 수정하였습니다.


이제 Windows 95 때와 마찬가지로 쾌적하게 핏폴을 PC에서 즐기실 수 있습니다. ^^

템페스트 리팩


서풍의 광시곡과 비슷한 엔진을 사용한 것으로 보이는 템페스트.
게임의 형식은 크게 바뀌었지만 처리 루틴이나 라이브러리는 서풍의 광시곡과 같지 않나 생각되어집니다. 그로인해서인지 서풍의 광시곡과 비슷한 문제가 있는데 바로 마법쓰거나 게임도중 화면이 멈춰버리는 문제입니다.
서풍의 광시곡때와 마찬가지로 XP 패치에 그 원인이 있지 않나 싶어 일반 v1.3 패치를 적용하였더니 게임 중 멈춰버리는 문제는 발견되지 않았습니다.
또한 템페스트는 CD별로 CD 오디오 트랙을 사용하는게 아니고 데이터도 CD별로 따로 구분되는게 아니여서 서풍의 광시곡보다는 리팩 작업이 좀더 수월하였습니다.
처음 리팩작업 후 너무나 XP에서 게임이 잘 돌아가서 인터넷에서 오류나는 부분을 넘겨달라는 세이브 파일을 다운받아 진행하여 보았습니다.


그 결과, 오류 메시지와의 만남...! 그리고 DirectDraw 오류의 쓰리런...

원인을 살펴보니 템페스트에서는 LoadImage()라는 윈도우즈용 API 함수를 사용하여 이미지를 불러와 화면에 출력하는데 이 함수가 버그가 있습니다.
정상적인 이미지 파일임에도 불구하고 일부 이미지는 LoadImage() 함수로 불러와지지 않습니다.
템페스트가 출시되고 Windows 98, Windows Me, Windows XP (non-SP) 상태에서는 이 문제가 발생하지 않았으리라 생각됩니다.
사실 위 문제 때문에 지금의 Windows XP SP3 에서는 게임 중간에 막혀 더이상 진행이 불가능한 상태입니다. 저 문제가 보고된채로 출시했다면 문제가 있겠지요;

어쨌든간에 이미지 파일들을 조금 손봐서 LoadImage()가 정상적으로 동작하게끔 해주니 "File Open Failed"는 더이상 나타나지 않았습니다. 만약 이게 또 나타난다면 그건 버그가 아니라 CD 데이터에 문제가 있으리라 보여집니다.

템페스트도 보면 XP 패치로 인하여 게임 중간에 멈춰버리는 문제와 LoadImage() 버그로 인하여 게임 중간에 아예 오류 메시지와 함께 팅겨버리는 문제가 있어 유저들로부터 작품의 평가가 제대로 이루어지지 못하지 않았나 생각이 드는군요.

서풍의 광시곡 리팩


창세기전 외전 서풍의 광시곡은 총 CD 3장으로 구성되어 있습니다.
CD 마다 각각 다른 오디오 트랙을 사용하고 있고 데이터 파일도 분할되어 있습니다.
이를 CD 1장 처럼 합치기 위해서는 다음을 먼저 분석하여 찾아내야 합니다.

-CD 체크할 때 CD 번호 정보를 주고받는 부분
-CD 배경음악 재생시 트랙번호
-CD 배경음악 재생부분
-CD 배경음악 정지부분


CD 번호 주고받는 부분은 위의 주소에서 eax 값에서 확인할 수 있었습니다.
이 정보를 가로채서 CD 번호에 맞는 음악 파일을 재생하게 해줍니다.

작업도중 전투가 끝나고나서 음악이 재생안되는 문제가 있었는데 이와 관련한 변수가 하나 더 존재하더군요. 이를 별도로 처리해주자 정상적으로 재생이 되었습니다.

그 외 나머지 부분들도 시간이 좀 들긴했지만 전부 분석하여 지난번 메탈 퍼티그와 같은 형식으로 리팩하였습니다. ^^

이와 별도로 전투 중 발생하는 "Overflow Mouse Range Setting" 오류와 적이 너무 자주등장하는 문제를 수정하고 게임 속도 조절 기능을 넣었습니다.

참고로 "1.02 패치"와 "1.02 XP 패치"가 있는데 "1.02 XP 패치"는 오히려 XP 환경에서 게임중간에 멈추는 문제가 있습니다. 리팩본은 "1.02 XP 패치"로 작업하였다가 다시 "1.02 패치"로 재작업하였습니다.

(추가된 내용)
1차 리팩본 이후 몇가지 추가문제가 발견됩니다.
회복계열 아이템이나 마법을 비전투상태에서 사용시 멈춰버리는 것과 전투시작시 종종 멈춰버리는 문제였습니다.
전투시작시 멈추는 문제는 두가지 원인이 있었는데 첫번째는 전투중 특수기술을 쓰면 나오는 동영상 속도가 전투속도와 같게 조절한데 있었습니다. 이는 기존 fps에 맞게 유지시켜주는게 안정적이였습니다. 그래도 간혹 전투시작시 멈추는 문제가 있어 직접 디버깅을 하여 원인을 찾아나갔습니다.


2주동안 짬짬이 시간을 내면서 찾아낸 결과 멈추는 원인은 메모리 오류이며 memcpy에 의한 것이였습니다.
메모리 overflow가 나거나 잘못된 참조로 인한 access denied이 화근이였습니다.
일반 모드로 실행하면 이 오류는 스킵되어 넘어갑니다. 넘어간다고 좋은게 아닙니다.
프로그램에 분명 버그가 있다는 것이고 게임중 메모리의 쓰레기값이나 잘못된 포인터로 예상치못하게 종료될 수 있는 요소가 됩니다.
이를 디버그 모드로 걸고보면 어김없이 오류를 내뱉습니다.
메모리 오류나는 부분을 찾았으니 이제 오류안나게 레지스터값을 조절하여 넘겨주면 됩니다.
이번 수정으로 이제는 어느정도 안정적으로 플레이가 가능하다고 생각되어지네요. ^^

삼국지 2 리메이크 한글화


네이버에 한조이라는 카페에서 활동하면서 삼국지 2 리메이크(삼국지 2 for Windows)를 한글화 했었습니다. 참고로 한조이 카페는 삼국지 3 리메이크를 한글화 했던 곳이며 지금은 폐쇄되어 존재하지 않습니다.

처음에는 eXeScope라는 리소스 편집기를 이용하여 메뉴와 대화상자, 이미지를 한글로 바꾸었습니다.

기초적인 커맨드를 내릴 수 있는 수준의 결과물이 나온뒤 시나리오 파일에 들어있는 장수명 한글화를 위해 매크로를 하나 만들어 사용했습니다. 노가다로 하기엔 다소 무리가 있어보여서;


매크로의 원리는 일본어 장수명 사전을 불러와 시나리오 파일에서 찾아 한글 장수명 사전의 데이터로 치환하는 원리입니다. 사전 파일또한 삼국지 2 도스용과 윈도우즈용을 이용하여 추출합니다.


사전 파일의 구조는 단순하며 위와 같습니다. 왼쪽은 한글 사전이고 오른쪽은 일본어 사전입니다. 이 매크로를 이용하여 엄청나게 많은 노가다성 번역을 단번에 끝낼 수 있었습니다.



모든 한글화의 기준은 삼국지 2 도스용을 기반으로 하였습니다.
위의 화면이 도스용 삼국지 2이고 아래 화면이 윈도우즈용으로 리메이크 된 삼국지 2입니다.

이정도만 되어도 게임 진행에는 큰 문제가 없는 듯 싶어 50% 한글화 패치라고 하여 네이버 한조이 카페에 공개하게 됩니다.

헌데 이때 불미스러운 일이 발생합니다.
다른 사람도 삼국지 2 리메이크 한글화를 했다길래 자문을 구해볼까해서 가보았더니 헉....
이건 제가 작업한 한글패치본이였습니다. ㅠㅠ 아무리 눈을 씻고 찾아봐도 제가 작업한거와 다른게 없었습니다.
한글화 해보신 분은 알겁니다. 같은 한글패치본이라도 자신이 한거와 다른 사람이 한거는 구분된다는 사실을 말이죠...ㅠ

게임 정보창에 한글화 정보를 표기하여 두었는데 이를 리소스 편집기등으로 바꾸고 별도의 설치 프로그램까지 만들어 자신이 만들었다고 배포하고 있는 실정이였습니다.


위의 화면은 지금의 게임 정보창입니다.
당시에는 카페를 운영하기 이전이라 "한글화 : soulmate2x@naver.com" 형태로 한줄만 적혀있었습니다.

제가 그 사람 블로그에 가서 글을 남기고 따졌더니 어느순간 잠수를 타버렸습니다.
정말 나름 공들인 한글패치인데 이게 왜 이렇게 이용되고 있는지 모르겠더군요.
그 사람은 그로인해 블로그 방문자가 늘었을지는 몰라도 저는 크게 상심하고 더이상 한글화를 하지 않게 됩니다.

시간이 흐른 뒤... 하드 디스크를 정리하던 중 삼국지 2 리메이크 한글화를 할 당시 사용했던 매크로 소스와 번역본을 발견하게 됩니다. 순간 이 게임을 단지 한글로 즐기고 싶다는 초심과 왠지모를 벅찬 느낌이 들게됩니다.
마음을 추스리고난 후 완전 한글화를 목표로 다시 작업을 시작하였습니다. ^^;

게임에서 사용되는 메시지를 한글화 하기 시작했습니다.


대화도 한글출력되게 수정하고 하나하나씩 바꿔나갔습니다.


다른 부분도 번역을 하고...


초선 이벤트까지도 한글화를 하였습니다.
현재의 한글화율은 99% 이며 처음부터 엔딩까지 원활한 플레이가 가능합니다.
이 작업을 하는데 소요된 기간은 3년, 공백기 4년까지 하면 7년에 걸쳐 완성되었네요.

지금은 네이버 고전게임 소장카페를 통하여 피드백을 받고 있으며 조금씩 개선해나가고 있습니다.
많은 분들이 삼국지 2 리메이크를 재밌게 즐겨주셨으면 좋겠네요. ^^

라자루스(Lazarus)를 아십니까?


오픈 소스 프로젝트를 보다가 .lpr 이라는 확장자를 가진 프로젝트가 있길래 무언가해서 봤더니 라자루스라는 RAD Tool 형식의 개발 프로그램이였습니다. Free Pascal 기반으로 만들어져 있으며 델파이의 TComponent 사용이 가능할 뿐 아니라 Windows, Linux, Mac 과 같은 다양한 플랫폼 호환개발이 가능합니다.


라자루스를 설치해보았습니다.


무료 프로그램이라고 하기엔 부족할 것없이 기존 델파이 IDE 개발형태를 잘 갖추어져 있었습니다. 관심있는 분들은 라자루스 공식 홈페이지에 가셔서 더 많은 정보를 얻어보세요. ^^

라자루스 공식 홈페이지 : http://lazarus.freepascal.org/

G-폴리스 리팩 정보

1997년 화려한 그래픽으로 주목받았던 게임인 G-폴리스.

  
게임 실행 전이나 실행 후 위의 같은 화면을 보았다면 CD 오디오 트랙이 누락된 상태의 CD 이미지이기 때문입니다. 정품 상태로 실행하면 정상적으로 넘어갑니다. 그런데 XP 에서는 작지만 심각해보이는 실행 문제가 있습니다.


게임 실행하자마자 위의 오류창을 만나게 되는데 게임에서 발생하는 문제가 아닌 바로 윈도우 시스템상에서 발생하는 커널 오류를 내뿜으며 강제종료되어버립니다.

문제의 원인을 살펴봤더니 CD 인증 체크 부분에서 오디오 트랙 인증 중에 무언가 호환되지 않는 부분이 있는듯 합니다. 호환성 모드를 지정하고 실행하면 언제 그랬냐는듯이 넘어가지만 게임에서 효과음이 나오지 않는 또다른 문제가 발생합니다.

다행히도 호환성 모드를 지정하지 않고 CD 인증을 크랙하면서 위의 문제까지 잡는데까지는 오랜 시간이 걸리지 않았습니다. G-폴리스가 XP 환경에서 정상적으로 원활히 실행되는 순간이였습니다. ^^

메탈 퍼티그 리팩 정보


메탈 퍼티그는 CD 2장의 CD 오디오 트랙을 모두 사용하는 게임으로, 미션에 따라 각기다른 CD 오디오 트랙을 사용합니다.  (어떤 분께서 메탈 퍼티그 풀버전이라고 보내주시기도 하였으나 확인결과 풀버전이 아니더군요.)


실행 파일을 두개로 나누어 CD 1용 음원, CD 2용 음원을 나눠서 실행하는 형태로 할까하다가 위의 위치의 ESI 레지스터에 CD 번호 값을 넘겨주는게 확인되었습니다. 따라서 ESI 값을 가로채서 CD 1을 사용하는지 CD 2를 사용하는지 알아내고 이에 맞게 CD 오디오 트랙을 MP3 파일로 재생해주도록 하는게 나을듯 싶어 작은 수정이 진행중입니다.

CD 번호를 주고받는 부분이 확인되면 여러장의 CD에 각기 다른 CD 오디오 트랙을 사용한다고 하여도 마치 단일 오디오 트랙처럼 변경하는게 가능합니다.

추후에 이를 검토 및 적용 대상으로 실버, 창세기전 외전 - 서풍의 광시곡과 창세기전 3, 절세풍운이 있습니다.

징기스칸 4 파워업키트 한글화 정보





국내에 정식 발매된 징기스칸 4는 한글화가 되어 출시되었지만 발매되지 않은 파워업키트는 한글화가 이루어지지 않았습니다. 추가 한글화 작업이 진행되지 못한 이유가 있는데 파워업키트 한글출력에 문제가 있었습니다.따라서 징기스칸 4 카페의 김통정님께서 부분 한글화 하신 것을 바탕으로 기존 메시지 출력부와 시나리오 설명글도 한글출력이 가능하도록 수정하였습니다.
파워업키트 한글화는 스펀지밥(xpop1)님께서 진행중이십니다.

- 알려진 문제점 -
1. 미번역된 메시지 구문출력시 메모리 오류로 일시적 오류가 발생할 수 있음
2. 대화상자 구문출력이 일본어로 표시됨
Powered by Blogger