디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[정보] 투하트 PSE 한글화용 프로그램

시모갤로그로 이동합니다. 2023.01.12 17:43:08
조회 1418 추천 5 댓글 3
														


viewimage.php?id=2cb1d527e3&no=24b0d769e1d32ca73fea85fa11d028315c2a09e47d692719f95ebfe694d2a17125c5dc8e18fa9da557794e1b7482ba739176f67841c54031fcdf3bf34fac65e00c


viewimage.php?id=2cb1d527e3&no=24b0d769e1d32ca73fea85fa11d028315c2a09e47d692719f95ebfe694d2a17125c5dc8e18fa9da557794e1b7482ba739176f67841921237afd939f34aac65e09a


viewimage.php?id=2cb1d527e3&no=24b0d769e1d32ca73fea85fa11d028315c2a09e47d692719f95ebfe694d2a17125c5dc8e18becef152154d1b7487bb1cf9ff6f3b0b12856192c19646


한글용 EXE 프로그램: 링크


일단 오프닝에서 시호 전까지만 번역 테스트 해봤음

이미지 번역은 앞에 올린것하고 큰 차이 없을거야


이번엔 멀티만 글자위치 안맞던거 수정하고 저번에 뺏던 자동정렬기능 완성시켜서 넣었음

psth.exe 말구 toheart_kr.exe 파일로 실행하면 오마케까지 정상적으로 될거야


일단 지금까지 적용된 패치

1. psth.exe 단독 실행

2. 이름 입력 시 전각 히라가나 제한사항 해제 (한글입력 가능)

3. 한글 키보드 입력 시 발생하는 문제 일부 수정 (2회입력 버그 등)

4. 앨범 - CG 달성률이 제대로 표시되도록 이름위치 재정렬

5. 폰트에서 한글 지원하도록 프로그램 확장 (shift-jis / euc-kr 양쪽 모두 지원)

6. KoS.pak, KoR.pak 파일에서 우선적으로 리소스를 불러오도록 패치

7. 반각 자간변경 적용 (시스템, 텍스트화면, 백로그화면+보이스메시지)

8. 대사문자/독백문자 자동정렬 적용 (텍스트,백로그+보이스메시지)

9. 문자 창 길이 확장 (600->619)


수정내용 상세: 구글 드라이브 링크

어셈블리로 코드 짜서 올리디버거로 확인해본 다음 hex에디터로 적용했음...




SCN-TXT 상호변환 툴: 링크


지난 번과 마찬가지로 파워쉘을 이용해서 작성되었음.


1. SCN 변환 스크립트 (SCN-TXT 상호변환)


3ebede25eadc2ee87eb1d19528d527030ca0ba35522e


사용법: .\PSE_SCNCONV.ps1 [Folder] <Decompile or Compile> <OutFolder>


디컴파일 예제: .\PSE_SCNCONV.ps1 "C:\LEAF\PSEPack\KoS" "Deomp"

--> KoS_TEXT 폴더로 해제된 txt파일 생성

컴파일 예제: .\PSE_SCNCONV.ps1 "C:\LEAF\PSEPack\KoS_TEXT" "Comp"

--> KoS_COMP 폴더로 컴파일 된 dat파일 생성


디컴파일은 앞서 올린 unpack 툴로 해제한 scn.pak 폴더를 입력하면 됨

폴더는 필수로 입력해야하고, 디컴파일/컴파일은 txt파일인지 dat파일인지 자동으로 확인되도록 해둠





2. SCN 테스트용 스크립트


3ebede32e0c12ce87eb1d19528d5270331d3ee1c7e

사용법: .\PSE_SCNTest.ps1 [SCN Number] <TXT Folder> <PAK Folder>

예제: .\PSE_SCNTest.ps1 1

--> 0001 텍스트 파일을 toheart가 설치된 폴더에 KoS.pak 파일로 변환하여 저장

--> 오프닝에서 스크립트번호로 자동 연결됨


텍스트 폴더, PAK 폴더를 ps1 상에서 미리 편집해두고 텍스트 번호만 입력하면 자동으로 패킹해줌.

오프닝에 자동으로 연결해둬서 스크립트가 어떻게 보이는지 바로 확인해 볼 수 있음.


이미지 툴은 앞에 올렸던걸로 쓰면 될거야

https://gall.dcinside.com/m/aleaf/1355








아래는 지금까지 분석한 파일들의 상세 사양임. 일단은 기록용으로......


1. 암호화 된 LEAFPACK: bck.pak, chr.pak, scn.pak, sys.pak, vis.pak

- 파일의 시작: LEAFPACK (매직바이트)

- 파일의 끝(-1): 매직바이트 이후부터 암호화에 사용되는 블록 크기 (최대 255바이트)

- 파일의 끝(-3..-2): 파일 수

해제 방법

1. 파일의 시작 8바이트부터 암호화 블록 크기만큼 암호 저장

2. 파일 정보는 24바이트씩 생성되어 있으며, 파일 끝부터 3바이트를 제외한 위치에서 24바이트*파일 수 만큼 계산

3. 암호 바이트를 마이너스 연산해서 복호화, -1 이하는 256 덧셈연산 (비트AND 255), 암호의 끝에서 처음으로 순환되는 방식

4. 파일 정보를 복호화 한 뒤 시작포인터, 파일크기 포인터, 끝포인터를 확인해서 각각 파일마다 복호화 연산



2. 파일명만 XOR된 LAC PAK 파일: bgmfile.pak, soundds.pak, voice.pak

- Garbro로 정상 해제 가능.

- 파일의 시작 (0..3) : "LAC " (매직바이트)

- 파일의 시작 (4..7) : 파일 수

해제 방법

1. 파일 정보 크기는 40바이트, 파일 정보 중 첫 32바이트는 파일의 이름

2. 파일 이름을 XOR FFh(255) 연산해서 복호화

3. LEAFPACK과 유사하게 시작포인터, 파일크기가 있으니 활용해서 분리

4. 이름 외에 다른 파일 영역은 암호화 되어있지 않음



3. 이미지 파일 분석

- 모든 이미지 파일은 비트 반전된 LZS 압축 형식을 사용함 (시즈쿠, 키즈아토등등에서 사용했던 방식 그대로)

- LZS 압축을 해제했을 때 기준으로 분석

1. LFF 파일: BBGGRR 24비트 RAW포멧, 상하반전 이미지

2. LCF 파일: AABBGGRR 32비트 압축 된 RAW포멧, 상하반전 이미지

- 압축 형식: Alpha 값이 0일 경우 BGR 값 생략 (00 = 00 00 00 00)

3. LDT 파일: 압축된 8비트 Alpha채널 + 8비트 팔레트 형식, 일반적인 톱-다운 이미지 출력

- 팔레트 수: 256색

- 압축 방식: 각 높이값 마다 픽셀 데이터가 있는 구간의 위치와 길이를 저장하는 컨테이너가 있음. 데이터가 있는 구간만 값 작성

4. LFB 파일: 8~32비트 BMP 파일, 일반 BMP에서 상하반전을 제외하면 PNG와 매우 유사.

원래 BMP의 Gray채널을 Alpha 채널로 사용함.

독특하게 BMP 사양에서는 잘 안쓰는 헤더부분에 X,Y 포지션을 미리 넣어둠

- 8비트: 256색 BGR 팔레트 사용 (높이 당 4바이트 align 적용)

- 16비트: Alpha 8비트 + 팔레트 8비트, 256색 BGR 팔레트 사용

- 24비트: BBGGRR BMP, 4바이트 align 적용

- 32비트: AABBGGRR BMP


4. scn 파일 분석

a. 헤더 분석

모든 바이트를 2바이트 little endian word 형식으로 읽어서 처리해야 함.

length, pointer 모두 포함

- 파일의 첫 word(2바이트): scn.dat 파일이 포함하고 있는 블럭의 갯수

- 두번째 word: 블록 전체 길이의 합 (2바이트 당 1씩 증가)

- 세번째 word 이후: 블록의 시작점 (1번 블록: 0 포인터, 2번 블록: 0c 포인터 등...)


b. 블록 내 데이터 분석

0000 ~ 7FFF: 제어 word

8000 ~ FFFF: 텍스트 문자 word


c. 제어 word 형식

[제어 word: 2바이트] [인수 길이: 2바이트] [인수 당 4바이트 * 길이값]

ex. 지연출력 제어워드: 03F0, 지연시간: 28h 일 경우

[F0 03] [01 00] { [00 00] [28 00] }

03F0 - 0001 - 0000/0028 로 해석






이걸로 누구든지 게임 이미지랑 텍스트 둘 다 편집 가능하게 되었네

이거하려고 투하트1 애니도 다보고 게임도 엔딩까지 플레이 함ㅋㅋㅋㅋ



이 노래 계속 듣는데 목소리 진짜 맘에드네

추천 비추천

5

고정닉 1

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2861 설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
1939 공지 공지의 매직도스박스 Win95_Leaf.img 보충자료 [3] 이칠공갤로그로 이동합니다. 23.12.31 876 3
1488 공지 ToHeartPSE 번역용 구글 스프레드 시트 + 번역 적용 툴 [16] 시모갤로그로 이동합니다. 23.05.27 628 5
공지 투하트 PSE 한글화용 프로그램 [3] 시모갤로그로 이동합니다. 23.01.12 1418 5
76 공지 투하트PSE CG, 음성, BGM 추출법 [8] 폭사아님갤로그로 이동합니다. 18.07.20 3706 6
115 공지 투하트(Toheart) PSE판의 AGTH 코드(H코드/후킹 코드) [4] 엑셀(210.117) 18.08.29 2867 12
2279 연재 얼렁뚱땅 투하트pse 연재 100 멀티 11 잎붕갤로그로 이동합니다. 05.21 11 0
2278 연재 얼렁뚱땅 투하트pse 연재 99 멀티 10 잎붕갤로그로 이동합니다. 05.21 7 0
2277 일반 뉴비를 받으세요!!! [3] 잎돌이(220.81) 05.21 30 0
2276 일반 화앨2에 BGM으로 깔린 피아노곡들 뭔지 알수있나? 에버쵸즌갤로그로 이동합니다. 05.21 20 0
2275 연재 세리카 재업 잎붕갤로그로 이동합니다. 05.20 19 1
2274 연재 얼렁뚱땅 투하트pse 연재 98 멀티 9 [1] 잎붕갤로그로 이동합니다. 05.20 18 0
2273 연재 얼렁뚱땅 투하트pse 연재 97 멀티 8 잎붕갤로그로 이동합니다. 05.19 25 0
2272 연재 얼렁뚱땅 투하트pse 연재 96 멀티 7 잎붕갤로그로 이동합니다. 05.18 16 0
2271 연재 얼렁뚱땅 투하트pse 연재 95 멀티 6 잎붕갤로그로 이동합니다. 05.17 21 0
2270 정보 아쿠아플러스 30주년 기념 행사 PV [6] 이칠공갤로그로 이동합니다. 05.17 69 3
2269 일반 토우마 카즈사 mbti 뭔 거 같음? [2] 잎돌이(58.228) 05.17 54 3
2268 연재 얼렁뚱땅 투하트pse 연재 94 멀티 5 잎붕갤로그로 이동합니다. 05.16 19 0
2267 연재 얼렁뚱땅 투하트pse 연재 93 멀티 4 잎붕갤로그로 이동합니다. 05.15 18 0
2266 연재 얼렁뚱땅 투하트pse 연재 92 멀티 3 잎붕갤로그로 이동합니다. 05.14 19 0
2265 정보 오늘의 생일캐릭터 이칠공갤로그로 이동합니다. 05.13 38 0
2264 연재 얼렁뚱땅 투하트pse 연재 91 멀티 2 잎붕갤로그로 이동합니다. 05.13 20 0
2263 정보 오늘의 생일 캐릭터 이칠공갤로그로 이동합니다. 05.12 29 1
2262 연재 얼렁뚱땅 투하트pse 연재 90 멀티 1 잎붕갤로그로 이동합니다. 05.12 23 0
2261 연재 레미 영상 다시 재업 잎붕갤로그로 이동합니다. 05.12 20 0
2260 일반 이 일러집 구하고싶네요 [1] ㅇㅇ(211.234) 05.12 69 2
2259 일반 화앨(원작) 이틀 연속 같은 애 만날 수 있나요? ㅇㅇ(222.110) 05.12 45 0
2258 연재 얼렁뚱땅 투하트pse 연재 89 레미 11 ~ pc판 엔딩 잎붕갤로그로 이동합니다. 05.11 57 0
2257 연재 얼렁뚱땅 투하트pse 연재 88 레미 10 ~ pse 엔딩 잎붕갤로그로 이동합니다. 05.11 27 0
2255 연재 얼렁뚱땅 투하트pse 연재 87 레미 9 잎붕갤로그로 이동합니다. 05.10 20 0
2254 정보 오늘의 생일캐릭터 이칠공갤로그로 이동합니다. 05.10 33 0
2253 일반 오늘의 생일캐릭터 ㅇㅇ(45.94) 05.09 48 0
2252 연재 얼렁뚱땅 투하트pse 연재 86 레미 8 잎붕갤로그로 이동합니다. 05.09 28 0
2251 연재 얼렁뚱땅 투하트pse 연재 85 레미 7 잎붕갤로그로 이동합니다. 05.08 24 0
2250 연재 얼렁뚱땅 투하트pse 연재 84 레미 6 [1] 잎붕갤로그로 이동합니다. 05.07 22 0
2249 연재 얼렁뚱땅 투하트pse 연재 83 레미 5 잎붕갤로그로 이동합니다. 05.06 19 0
2248 연재 얼렁뚱땅 투하트pse 연재 82 레미 4 잎붕갤로그로 이동합니다. 05.05 19 0
2247 정보 오늘이 생일인 캐릭터 이칠공갤로그로 이동합니다. 05.05 44 0
2246 연재 얼렁뚱땅 투하트pse 연재 81 레미 3 잎붕갤로그로 이동합니다. 05.04 16 0
2244 일반 화앨1 [1] ㅇㅇ(123.212) 05.04 67 0
2242 연재 얼렁뚱땅 투하트pse 연재 80 레미 2 잎붕갤로그로 이동합니다. 05.03 22 0
2241 연재 얼렁뚱땅 투하트pse 연재 79 레미 1 잎붕갤로그로 이동합니다. 05.02 27 0
2240 일반 당신을 그리워하고싶어 이거 세츠나가 부른거였군요 [2] ㅇㅇ(218.52) 05.02 64 0
2239 연재 얼렁뚱땅 투하트pse 연재 78 아야카 엔딩 ~영상 포함 잎붕갤로그로 이동합니다. 05.01 23 0
2238 정보 오늘의 생일캐릭터 [1] 이칠공갤로그로 이동합니다. 05.01 62 0
2237 정보 화이트앨범2 extended edition 다운 어디서 받나요?? rikka0612갤로그로 이동합니다. 04.30 59 0
2236 일반 투하트1 레미 94%... 도와줘 ㅠㅠ [5] 잎돌이(112.172) 04.30 64 0
2235 연재 얼렁뚱땅 투하트pse 연재 77 아야카 8 잎붕갤로그로 이동합니다. 04.30 20 0
2233 연재 얼렁뚱땅 투하트pse 연재 76 아야카 7 잎붕갤로그로 이동합니다. 04.29 22 0
2232 연재 얼렁뚱땅 투하트pse 연재 75 아야카 6 잎붕갤로그로 이동합니다. 04.28 24 0
2231 연재 얼렁뚱땅 투하트pse 연재 74 아야카 5 잎붕갤로그로 이동합니다. 04.27 33 0
2230 번역 Routes 초회차 공통루트 - 1 [3] 이칠공갤로그로 이동합니다. 04.27 86 1
2229 번역 Routes - 프롤로그 이칠공갤로그로 이동합니다. 04.27 50 0
2228 정보 시즈쿠 리뉴얼 마운트 질문 [2] 새우갤로그로 이동합니다. 04.27 57 0
2227 일반 트위터에서 주워온 아쿠아플러스 맴버 클럽 특전 [2] 이칠공갤로그로 이동합니다. 04.27 85 2
2226 일반 화앨2 코다 노말 후기는 세츠나 잎돌이(125.143) 04.26 49 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2