EV Nova 한글화(한글패치) 관련
Entry 및 *.rez 소스 분석 정보..
플러그인 제작정보..
고딩때 엄청난 영어의압박(..)속에서도 눈물나게 해석하며 재밌게 한 우주시뮬레이션 게임.. EV Nova (Escape Velocity NOVA)다
영어공부도 할겸, 당시 NOVA의 한글화를 계획했었다. 어쩃든 미루고 미루던 계획을 이제와서야 진행해ㅅ "보려고"(..;;) 했었는데... 이제부터 그 엄청난 삽질과정을 소개하겠다..
혹시라도 이게임 또 한글화 시도하려는사람은 참고하기 바란다.
과정이 안타까워 포스팅하는 삽질이야기
개봉박두...
.
.
먼저 한글화를 위해 게임의 대본소스를 언팩 하던지 String테이블을 풀어재끼던지 해야 한다.
[EV Nova\Nova Files]에 들어가보니
데이터 파일들은 일반적으로 리소스파일(res)의 묶음으로 알려진 rez 파일들 인듯했다.
rez 파일 매니저인 winrez로 rez파일을 읽어보았다.
실패. 그 외에도
TRON TOOL, 용용이unpacker등 내노라는 unpacker을 서너개 사용해 봤으나 모두 실패했다.
(뭐, 언팩툴로 맨날 쉽게 언팩당하는 국내 모Nx기업 온라인게임 보단 낫네.)
이렇게 확장자낚시에 당한 후.. Nova Rez조사..
전용 REZ Converter를 사용하는 EVnova전용 포멧이다.
그런데 convert-extensions.com에 Nova REZ파일이 왜등록되어있는거지?
어쨋든 이제 언팩툴이 아니라 plug in tool을 뒤져야 한다. 그게 rez에 접근할테니깐.
이때까지 확장자만보고 낚였다.
그래서 Plugin에디터를 찾다가..
EV Nova공식홈(영어) 및 팬페이지에 EVNEW라는 윈도우용 rez에디터가 있었다.
.....이..뭐.......(..여러분..뭔일을할때는 꼭 공식적인 루트부터 먼저 접근 합시다..ㅠ)
그래서..
(EVNEW.exe) 다운로드:evnew_softhearts.zip
그외에도 외국 NOVA포럼을 열심히 뒤진 결과
OS경계를 날라다니는 JAVA로짠 EVNOVA용 Rez-HexEditor도 발견하였다.
여튼 EVNEW으로 파일을 뒤진 결과
[NovaData3.rez]와 [NovaData5.rez]가 각각 행성의 스크립트, 퀘스트(대화) 스크립트파일이었다.
이제 데이터를 한글로 수정을 해보자.
이후 RePacking까지 아무런 에러메세지 없이 잘 작동헀다.
영문 대사를 일관적으로 뽑아서 한글로 번역한 뒤 다시 교체하는 작업이 가능해진 것이다!
한글문자 유니코드 매칭 작업까지 생각했는데
이렇게 쉽게 EVNova 한글화가 될리가 없는데? 하며
불안하고 설레이는 마음으로 EVNova에서 테스틀 해본다.
.
.
두둥...
아..역시나...다. 문자가 깨져서 나온다.
뭐 우여곡절은 있기마련이니 문제를 분석해보자.
깨진글자에 한글이 포함된걸 볼때.. NOVA는 보통 게임들이 채택하는 전용 문자 매칭을 전혀사용하지 않음을 알수있다....
그런 관계로, 문자가 이런식으로 깨져나오는 이유는...
프로그램이 애초에 아스키(ASCII)로 짜여진 경우 일 터... 아..맙소사..이거 언제쩍 게임이냐?
일단 사실확인을위해 스크립트 데이터의 데이터형을 확인해 보아야 하니,
아까 받아뒀던 HEX에디터가있는 자바 rezeditor로 Moonview를 열어보자.
(ResEdit_Java.exe)
다운로드 : rezeditor_java_softhearts.zip
(참고로 이 java rez에디터에서 불러오는 경로에 무조건 경로에 한글이 있으면 안된다. 예를들어 바탕화면에깔면 안되고, C:\RezEdit\에 압축풀어야 한다.)
아 이것은 확장8비트 ASCII코드. 이건 진짜 맙소사다.
방금 수정했던 내용대로 0부터 차례대로 ASCII값(shift적용)이 "M[4D]" "o[6F]" "o[6F]" "n[76]".... 인데 이상한건 "행"이라는 글자 부분은... [C7,E0,BC,BA] 이건 애매하다.. 아마도 EVNEW에서 입력한 한글 데이터 부분 16비트를 쪼개서 각각에 대해 저장을 했나보다. 또 그걸 EVNova.exe가 (확장아스키)8비트 짜리로 불러들인 후 ASCII 변환연산을 한 후 출력하고 있겠지...이상한글자가 나올수밖에.
아... EVNova는..
개발자가 아스키 매니아거나 애초에 영어로만 돌릴려고 작정을 한 게임이다.
...어지간히 용량에 벌벌 떨었나보다. 오래된 게임인 만큼 철저히 최적화만을 지향한 개발방식이다... 이덕에 스크립트 용량이 1/2로 줄었겠지.)
.
.
.
정리하자면
리소스파일은 온통 8비트 코드로 되어있으며, EVNova.exe는 Unicode를 전혀 읽지 못한다.
이건뭐 도스게임이랑 동급이다.
exe설계부터가 8비트 입출력이다. 리소스파일도 마찬가지라 크랙이 가능한 사항도 아닌거같다.
해결할 방법이 생각나지 않는다. 아에 게임 설계를 바꿔야한다.
그래서..본인은 이게임의 한글화가 불가능하다고 결론 지었다. 끝-. (.. =ㅅ=;)
.
.
--------------------------------------------
혹시나 또 한글화 시도 하실분은 참고하세요.