Level5 제작, 2019년 9월 20일 출시된 스튜디오 지브리 RPG 게임





개요
한글 패치 5호
작업일자 : 2026. 1. 29. ~ 2026. 2. 06. (9일)
작업툴 :
|
프로그램명
|
용도
|
비고
|
|
Gemini
|
분석과 번역
|
|
|
HEX Editor
|
바이너리 분석
|
|
|
Python
|
분석 및 편집 코드
|
|
|
Rawtex
|
Raw image 다양한 조건 테스트
|
|
|
BMFont
|
폰트 제작
|
Fnt (text)와 png 폰트 이미지 제작
|
|
Gimp
|
폰트 편집
|
|
|
Kuriimu2
|
mnupak 파일 export 와 import
|
|
|
CfgBinEditor
|
cfg.bin 파일 편집
|
text.cfg.bin 파일 수정, 저장
|
|
QuickBMS
|
Vfs 파일 추출
|
추출만 가능. 수정 불가.
|
▶ 수정할 파일 찾기
1. VFS, Bin 등 제작사 자체 포멧으로 압축된 파일이라, Hex Editor로 분석 후 확인
|
파일명
|
용도
|
|
Data.Vfs, Data2.Vfs
|
통합 압축 파일
|
|
text_en.cfg.bin
|
자막 파일
|
|
en.mnupak
|
자막 압축 파일
|
|
font_set.cfg.bin
|
폰트 설정 파일
|
|
ft_sys_humm_b36p.cfg.bin
|
폰트 정보 파일
|
|
ft_sys_humm_b36p.p3igg
|
폰트 이미지
|
▶ VFS 파일 압축 해제
1. QuickBMS로 data.vfs 파일에 포함된 파일들을 추출 가능했다.
하지만, data2.vfs는 추출이 불가능했고, 수정된 파일을 주입하는 것도 불가능 했다.
2. 추출에 사용한 BMS 스크립트를 참조하여 Hex Editor를 이용하여 바이너리를 분석하고,
Python으로 추출과 주입 코드를 구현
|
섹션
|
설명
|
|
Header
|
Magic number, version
|
|
폴더 구조
|
hash, id, parent id, child id
|
|
파일 구조
|
hash, id, flags, parent id, data offset, data size
|
|
Data
|
zstd 압축 데이터
|
|
파일명 나열
|
|
|
폴더명 나열
|
|
▶ Font 수정
1. 이나즈마 일레븐 만든 제작사라 동일한 포멧을 사용할 줄 알았는데, p3igg로 다른 포멧으로 되어 있음
2. font.cfg.bin은 다행히도 이나즈마 일레븐과 포멧이 유사했고, 해상도가 2048 x 1024임을 확인함.
3. p3igg에서 header 부분을 날리고, raw image를 뽑았으나 2048 x 1024 x 4 바이트 = 8,388,608가 아니라 절반 사이즈였음.
그래서 압축된 것인가 해서 dds나 png 등으로 만들어 봤지만 정상적인 이미지가 나오지 않음.
4. rawtex로 해상도나 설정들을 바꿔가며 테스트 해본 결과 의미있는 이미지를 추출하는데 성공함 (1024 x 1024, r8g8b8a8, switch swizzling 해제)

5. 해상도가 맞지 않아 의아했으나, 제미나이가 2048을 1024로 줄여서 넣고, 게임 실행 시 늘려서 사용한다고 해서 그런가보다 하고 넘어감
6. RGBA 채널별 다른 폰트를 사용하고 있었고, 한자만 있는 Blue 채널을 정해서 한글 폰트 이미지를 넣음
7. switch swizzling 해제는 rawtex로 가능했지만, 다시 swizzling 하는 기능은 없어서 python으로 구현함
8. font.cfg.bin 는 구분자를 찾아서 폰트 테이블 구조 확인함
9. 기존 사용하는 font id를 뽑아서 한자가 들어 있는 부분을 한글로 대체함
10. 게임 내 한글 출력 테스트를 하니, 글자가 깨져서 나왔음. 어떤 문제인지 몰라 이것 저것 확인 결과, 이미지의 특이점을 확인함.
12. R과 B, G와 A 폰트가 동일하며, 각 이미지에 어렴풋하게 다른 글자들이 있는 것을 확인함.
하나의 채널에 밝기가 다른 2종류 폰트가 들어 있음

13. R과 B가 같은 폰트라서 python으로 1열씩 따서 조합해서 2048을 만드니 완벽한 폰트 이미지가 나옴.
해상도 2048의 비밀이 여기에 있었음
14. 밝기가 다른 폰트 때문에 글자가 깨져서 나오는 것이었고,
이를 분리하는 것도 귀찮아서 사용할 채널을 그냥 다 검게 덮고 한글 폰트를 넣음
15. font_set.cfg.bin 은 CfgBinEditor로 열리며, 메뉴나 대화 등에 사용할 폰트를 지정할 수 있음.
ft_sys_humm_b36p 폰트로 전부 적용함.
▶ Text 수정
1. mnupak 파일은 Kuriimu2 프로그램으로 파일 추출 가능

2. text.cfg.bin 은 CfgBinEditor 프로그램으로 수정 가능하고, Export와 Import 기능으로 Json 파일로 작업 가능하나,
Json에 불필요한 정보도 많고 일일이 하나씩하기에는 시간이 너무 많이 소요되었음

3. 그래서 Cfg Bin 파일도 분석해서 추출과 수정 코드를 만듬 (Python)
|
섹션
|
설명
|
|
Header
|
Entry 갯수, 문자열 관련 정보
|
|
Entry
|
Entry key, 파라메터 갯수, 타입, 값
|
|
String 테이블
|
문자열 나열
|
|
Entry key 테이블
|
Entry key 와 name 위치 offset
|
|
Entry name 테이블
|
Entry name 나열
|
|
분석 불가 부분
|
모름
|
4. 지정 폴더의 하위 폴더에 있는 전체 cfg.bin 파일을 찾고,
각 파일을 열어 Entry에서 파라메터가 String타입인 것의 String값만 Json으로 일괄 추출하는 코드 만듬 (Python)
5. 파일수 640개 정도 AI 번역 노가다
6. 지정 폴더의 하위 폴더에 있는 전체 cfg.bin 파일을 찾고,
Json파일을 읽어서 Entry 파라메터가 String타입인 것의 값(String table offset)을 수정하고,
String table을 번역한 한글 문장으로 채우는 코드 만듬 (Python)
▶ VFS 파일 재압축
1. 원본 VFS 파일에서 수정된 font와 text.cfg.bin 파일을 zstd 압축해서 data 끝과 파일명 나열 사이에 추가하고,
파일 구조에서 수정된 파일을 찾아 data offset과 data size만 변경하는 코드 만듬 (Python)
|
섹션
|
설명
|
|
Header
|
Magic number, version
|
|
폴더 구조
|
hash, id, parent id, child id
|
|
파일 구조
|
hash, id, flags, parent id, data offset, data size
|
|
Data
|
zstd 압축 데이터
|
|
파일명 나열
|
|
|
폴더명 나열
|
|
2. data2.vfs 는 data.vfs와 똑같이 수정하면 될 것 같았지만,
Data 영역 쪽 패딩이 한부분 달라서 코드를 수정해줘야 함. 버전에 따라 패딩 있고 없고가 있는 것 같음.
후기
도대체 압축을 몇 번을 한거야.
도대체 폰트에 무슨 짓을 해 놓은거야.
PC버전의 한글 패치가 있어서 가져다 쓸까 했는데,
PC버전은 Vfs 압축도 없고, 폰트 swizzling도 없고, cfg bin 파일 구조도 달라서 사용할 수 있는게 없었다.
그래서, 그냥 처음부터 끝까지 다 새로 만들어야 했다.
AI 번역을 돌리다 보니, AI가 니노쿠니 대사임을 인지하고 캐릭터명을 지멋대로 다르게 번역을 해놨다.
영문 자막은 Drippy인데 어떨 때는 시즈쿠라고 하고, 어떨 때는 디립피라 번역해 놓았다.
음성을 일본어로 설정하면, Drippy를 시즈쿠라고 부르고, 필립을 마크라고 불렀다.
그래서, AI 번역해놓은 자막에 일본어명(영문명)으로 수정해놨는데,
다 수정하기 귀찮아서 중요 인물만 바꿔놨다.
링크
혼자 하려고 만들어 품질이 좋지 않습니다. 수정 요구는 받지 않습니다.
비밀번호 https://blog.naver.com/whatever__i__want
게임은 정품을 구매하고 사용하시기 바랍니다.
패치 방법이 변경되었습니다.
'한글 패치 방법 변경' 문서를 읽으시거나, 압축 파일에 동봉된 Readme.txt 확인 바랍니다.
문제가 있던 tar 압축을 7-zip으로 바꾸고, 32비트/64비트 호환 가능하도록 수정했습니다.
https://drive.google.com/file/d/1tCdsghKRqnbQxGRbFueq5ux08MMEauEW/view?usp=sharing
니노쿠니 v1.0.2 kor new2.zip
drive.google.com
'스위치 한글 패치' 카테고리의 다른 글
| [스위치 한글 패치] 대역전재판 (0) | 2026.02.15 |
|---|---|
| [스위치 한글 패치] 니노쿠니2: 레버넌트 킹덤 (0) | 2026.02.15 |
| [스위치 한글 패치] 이나즈마 일레븐: 빅토리 로드 (0) | 2026.02.15 |
| [스위치 한글 패치] 환상소녀대전: DREAM OF THE STRAY DREAMER (0) | 2026.02.15 |
| [스위치 한글 패치] 이상한 환상향: RELOADED (0) | 2026.02.15 |