해당 강좌는 Reallive 1.6 이하 버젼에 대해서만 설명함

쿠드와후타부터 1.6이 적용된걸로알고있으니 그이전 게임들만 지원한다고 생각하면됨

쿠드와후타 한패 제작할때의 꼼수가 있긴한데 이건 따라하기 복잡하니 설명안함


윈도우 xp와 윈7 32비트에서만 작동확인했고 (64비트는 아마안됨)

아마 내 예상으로는 윈8.1 32비트까지도 잘될거라고봄

윈10에서는 제대로 작동안할거니

그냥 전용 가상머신 하나 만들어서 거기서만 작업하셔


파일 수정할때는 원하는 편집기 쓰면되는데 나는 notepad++씀

알아서 추가로 깔아서 쓰셔


cygwin이라는걸 사용할거라 리눅스에대한 기초적인 지식이 있으면 편함

근데 rldev만 쓸거면 몰라도됨


rldev 다운

https://drive.google.com/file/d/1FccVxvPDTYvZSbL-N3LQBDSPBZ73VtlC/view?usp=sharing


rldev가 컴파일되어있는 cygwin임

의존성 라이브러리 바이너리 등등 다들어있음


위에도 말했지만 윈xp나 윈7 32비트에서만 써야됨

여기 올린 cygwin은 너무 옛날거라 윈10에서는 제대로 동작안함

설명은 윈7 32비트 기준으로함


여튼 이 다운받은걸 C드라이브 최상위 루트에다가 압축해제하면됨




C:\\cygwin\\

이런식으로 압축풀어주고


이제 cygwin의 바이너리랑 라이브러리를 환경변수에 추가할건데

본인이 cygwin 쓸줄알면 이건 패스해도됨

근데 어차피 가상머신에서 작업할거니 대충 편하게가자고




제어판에서 시스템 으로 들어온다음에

여기서 고급 시스템 설정 누르고


환경변수 누르면 창하나 뜨는데




위에거 path 선택하고

편집누른다음에


기존에 뭔가 써져있는거 있으면 앞에 ; 붙여서 복붙

;C:\\cygwin\\usr\\local\\bin\\;C:\\cygwin\\usr\\local\\lib\\;C:\\cygwin\\bin\\


암것도없이 텅비어있으면 ; 때고 복붙

C:\\cygwin\\usr\\local\\bin\\;C:\\cygwin\\usr\\local\\lib\\;C:\\cygwin\\bin\\


다 끝나면 재부팅


이제 cmd(명령 프롬프트) 켜서

ls

라고 쳤을때 현재 폴더 내용물 보여지면 환경변수 제대로 들어간거임


간단히 cmd에서 알아둬야될 명령어 설명하자면

dir : 현재 폴더 내용물 보여줌

cd : 폴더 이동할때씀 (예시: cd game 하면 game 폴더로 들어감, cd .. 하면 상위 폴더로 이동)

이정도만 알아두고 더 궁금하면 검색해서 공부하셔

cygwin을 환경변수에 추가해서 몇몇 리눅스 명령어도 되긴하는데

이건 설명안함


밑준비는 끝났는데

본인이 스크립트 풀려는 게임이 암호화 걸려있으면

C:\\cygwin\\usr\\local\\share\\rldev\\lib\\game.cfg

이걸 열어서 XOR키가 탑재되어있나 확인하고

없으면 XOR키 구해서 직접 넣어줘야되야함


기본탑재 되어있는 XOR키는

리토바스. 리토바스EX, 리토바스ME

클라나드, 클라나드FV

등등 있음


이제 rldev로 스크립트를 풀건데

설명은 리토바스EX 기준으로함


준비물은 리토바스EX 안에있는

SEEN.TXT랑

GAMEEXE.INI임


이걸 EX라는 폴더안에 넣어둔다치고

EX 폴더 쉬프트 누르면서 오른쪽 마우스 클릭하면




여기서 명령 창 열기라고 있음

이거 누르면 바로 EX폴더에서 cmd 열림

이거 알아두면 편함 매번 cmd열고 cd 경로 안해도 되서


여튼 이제 EX 폴더안에 cmd로 들어와있을텐데

그전에 rldev 툴 설명좀함


kprl : 디컴파일러, 그니깐 스크립트 풀어주는놈

rlc: 컴파일러, 스크립트 묶어주는놈


이렇게 알아두셔


디컴파일 과정 (cmd로 EX폴더 들어와있는상태) :


kprl  -G LBEX -d -e utf-8 -o seenout SEEN.TXT


-G 옵션은 특정 게임 지정 (XOR키,리얼라이브엔진 버젼 체크)

여기서 LBEX라는 단어는 game.cfg 에서 읽어오는거임 (직접 XOR키 추가할때 알아두셔)

-d 옵션은 디컴파일

-o 옵션은 출력 폴더 지정 (해당 이름 폴더가 없으면 자동으로 만듬)


그 외에 많은 옵션은

kprl --help 하면 다나옴

그중에 내가 자주 쓰는거중에 하나는

-s 옵션인데 이거쓰면 org파일과 utf파일 두개가아니라 org하나에 다 합쳐서 나옴


여튼 위에 명령어 실행하면

seenout이라는 폴더에 org하고 utf파일들이 쏟아져 나올거임

org는 명령 스크립트이고

utf는 org에서 대사만 빼와서 모아둔거임


번역 작업하려면 utf 안에있는걸 번역하면됨

근데 아주 가끔 utf 안에말고 org안에 일본어가 남아있을수있음

이건 대사가 아니라 게임내의 이벤트 문구 같은 애들인데

쿠드와후타 작업할때 "리키가 에로대마왕 칭호를 얻었다!"

라고 화면 가운데에 이미지안에 문구랑 효과음 같이 뜨는게 있었는데

이런것들은 utf안에 없고 org안에 있었음

여튼 이런것들 주의하셔


대사 번역말고 게임내부를 조작하고싶으면

reallive 엔진 문법을 알아야하는데


http://dev.haeleth.net/rldev/manual.html


이거보고 독학하셔


이제 스크립트 분해는 끝났고 다시 묶을건데

rlc가 여러개의 org를 한번에 컴파일하는 방법이 없어서

하나씩 컴파일을 해야됨

이거를 자동화 해주는 반복문쓰면 자동으로 해줌


cmd에서 cd seenout으로 seenout 폴더안에 들어와있다는 상태에서


for %a in (*.org) do rlc -G LBEX -x korean -i ../GAMEEXE.INI %a


하면 seenout 폴더안에있는 org 전부 컴파일함

옵션 설명을 하자면


rlc -G LBEX -x korean -i GAMEEXE.INI SEEN0000.org


-G 옵션은 특정게임 지정 (이거가 중요한게 rlc에서 게임의 reallive 엔진 버젼에따라서 다른 컴파일러를 씀)

game.cfg에 없는 게임으로 컴파일 시도할거면 -c 옵션으로 컴파일러 맞는거 직접 선택해주면됨

-x 옵션은 인코딩 지정인데 스크립트 한글로 수정했으면 korean으로하면 됨

-i 옵션은 GAMEEXE.INI 경로 적어주면됨 위에 반복문에 ../GAMEEXE.INI로 해둔이유는

seenout의 상위 폴더인 EX안에 GAMEEXE.INI있어서 앞에다가 ../ 붙인거임

마지막 SEEN0000.org는 말그대로 org 파일 이름


이걸 자동화 한게 위에 for 반복문임

rlc의 자세한 옵션은 rlc --help로 확인하면됨


만약에 스크립트안에 일본어가 남아있으면

컴파일 도중에 cmd 창에서

bad char 라면서 카운트가 올라가니

찾아서 수정해주면됨


여튼 for 반복문 돌리면

seenout안에 SEEN0000.TXT라는 파일들이 많이 생겨있을거임

이제 cd .. 로 EX폴더로 돌아온다음에


kprl -a SEEN1.TXT seenout/*.TXT


하면 SEEN1.TXT라는 새로 만든 스크립트가 생김

혹여 글자 수정하고 다시 컴파일할거면

기존위치에있던 SEEN1.TXT 지우고 해야됨

(설명하기어렵네 여튼 컴파일할때마다 지우고 하라는거임)


이렇게하면 끝! 이 아니라

rlbabel이라는걸 알아야됨


reallive는 초구식 엔진이여서 UTF-8을 지원을안함

그래서 rldev 개발자가 일본어 이외의 글자 출력을 위해서 만든게

rlbabel임


rlbabel + genmap 다운

https://drive.google.com/open?id=15gH2hLgUZ39zHT1AdiZjpoFk4pNlxPQe


일단 이거 받고 압축풀면

안에 보면 rlbabel이랑 genmap이라고있는데

rlbabel은 아랄의 AT코드처럼 map 파일이라는게 필요함

이 map 파일은 구형 reallive라면


C:\\cygwin\\usr\\local\\share\\rldev\\rtl


안에 있고

여기 없는 1.4나 1.5 엔진들은 직접 map을 만들어야됨

이때 필요한게 genmap임


reallive.exe라고 각 게임마다 들어있을거임

그걸 genmap 폴더안에다가 넣고

reallive.exe를 실행하면 알아서 map파일을 만들어줌


이제 게임 폴더로 가서 (리토바스 EX기준)

rlbabel.dll , 1.5.2.4.map 두개 파일 넣고

거기있는 GAMEEXE.INI열고

Ctrl F로 안에 DLL.000 이라는 문구가 있는지 확인하고

없으면 맨위에다가

#DLL.000="rlbabel"

추가

리토바스EX처럼 이미 DLL 두개나 쓰고있으면

#DLL.000="PT00"

#DLL.001="EF00"

밑에다가

#DLL.002="rlbabel"

추가


이제

#INIT_FONT_TYPE 라는 문구 찾아서

아래와같이 수정


#INIT_FONT_TYPE=2

#INIT_FONT_NAME="Gulim"

#INIT_FONT_QUALITY=2

#INIT_FONT_WEIGHT=0


이렇게하고 저장 (굴림폰트는 알아서 다른거로 바꿔도됨)

이제 게임 로캐일 에뮬레이터 같은거로

일어로캘로 실행하고 제대로 한글 나오는지 보면됨