mir.pe (일반/어두운 화면)
최근 수정 시각 : 2024-02-28 15:01:02

thcrap

파일:Touhou_Projectlogo.png
上海アリス幻樂団 · ZUN
{{{#!wiki style="margin: 0px -10px -5px; min-height: 28px;"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -4px -2px -12px;"
정규 작품
구작
TH01
동방영이전
TH02
동방봉마록
TH03
동방몽시공
TH04
동방환상향
TH05
동방괴기담
신작[1]
1세대 TH06
동방홍마향
TH07
동방요요몽
TH08
동방영야초
TH09
동방화영총
2세대 TH10
동방풍신록
TH11
동방지령전
TH12
동방성련선
이후 TH13
동방신령묘
TH14
동방휘침성
TH15
동방감주전
TH16
동방천공장
TH17
동방귀형수
TH18
동방홍룡동
TH19
동방수왕원
외전 작품
탄막 슈팅
TH09.5 동방문화첩 · TH12.5 더블 스포일러 · TH12.8 요정대전쟁 · TH14.3 탄막 아마노자쿠
TH16.5 비봉 나이트메어 다이어리 · TH18.5 불릿필리아들의 암시장
탄막 격투
지상 TH07.5
동방췌몽상
TH10.5
동방비상천
TH12.3
동방비상천칙
공중 TH13.5
동방심기루
TH14.5
동방심비록
TH15.5
동방빙의화
탄막 액션
TH17.5
동방강욕이문
공식 관련
인물 캐릭터 이명 능력
세계관 환상향 지역 세력 종족
설정 설정 설정 오해 이변
스펠 카드 스펠 카드 목록 라스트 스펠 라스트 워드
플레이 난이도 잔기 아이템 공략
전통
막장 플레이 노봄 플레이 스코어보드 전일기록
기타 용어 역사 작품별 약칭 죠죠 패러디
동인계 관련
2차 창작 창작물 작가 설정 가이드라인
인물 캐릭터 이명 기념일
행사 행사 예대제 인기투표
커뮤니티 커뮤니티 동갤 상갤 동챈
윳쿠리 볼짤 후모
한글화 동방 패치 센터 thcrap
기타 용어 만년 떡밥 기타 개별 문서
MMD }}}}}}}}}
게임 · 출판물 · 음악집 · 사운드 트랙 · 2차 창작
파일:thcrap_icon.png
Touhou Community Reliant Automatic Patcher
개발 Brliron, NamelessLegacy, Egor
발표 2013년 7월
플랫폼 Windows
언어 영어
링크 thcrap 깃허브 tsa모듈 깃허브
동방 패치 센터
파일:디스코드 아이콘.svg 디스코드 파일:페이스북 아이콘.svg 페이스북
https://gitter.im/thpatch/thcrap (활동 중지)

1. 개요2. 탄생 계기3. 특징4. 작동 방식5. 사용법6. 한국어 패치
6.1. 번역이 완료된 작품6.2. 부분적으로 완료된 작품
7. 패치 및 모드들
7.1. 기본 패치7.2. 언어 패치7.3. 모드
7.3.1. 리소스 교체 관련7.3.2. 게임 플레이 관련7.3.3. 기타
8. 알려진 문제점
8.1. thcrap8.2. lang_ko
9. 기타10. 외부 링크11. 관련 문서

1. 개요

thcrap은 동방 프로젝트 게임에 적용할 수 있는 언어 패치/모딩 툴이다. 간단히 말해서 동방 프로젝트의 정규작과 외전작들을 한국어를 포함한 다양한 언어로 즐길 수 있게 해주는 프로그램. 게임에 재미를 더해주는 모드를 적용시킬 수도 있다.

2. 탄생 계기

프로젝트는 프랑스인 Brliron과 독일인 NamelessLegacy가 주축이 돼서 2013년쯤 시작됐다. 이들은 소개( #1 #2)와 깃허브 기여 목록에서 알 수 있듯이 로우 레벨 프로그래밍, 리버스 엔지니어링, 파일 구조 분석까지 다룰 줄 아는 능력자들이다.

thcrap의 탄생 계기는 위키 번역과 다른 언어 패치 작업과정에서 기인한다. 예를 들어 동방위키 영문판의 경우, 대사 번역물은 항상 최신 상태가 유지되고 틀린 부분이 있으면 일본어에 더 능숙한 자가 나타나 올바르게 수정할 여지가 있다. 하지만 게임 패치는 어떤가? 제작자가 한 번 배포하고 나면 그냥 그걸로 끝이다. 오류를 고친 수정본을 배포하는 것 역시 한계가 있다.

또한 어떤 언어 A 패치를 만드는 과정을 생각해보자. A 패치를 만들기 위해선 데이터를 분해하고 텍스트와 이미지를 번역하고, 모든 번역물을 다시 결합하여 실제 게임에서 잘 적용되는지 검수과정을 거치는 등 수많은 노력이 필요하다. 그런데 이 힘든 과정을 거친 다음엔, 또 다른 언어 B 사용자가 패치를 만들고자 한다면 위 과정을 그대로 반복해야 하는 어려움이 따른다. 실질적으로 다른 부분은 데이터를 B로 번역하는 것뿐인데도 상당히 중복되는 작업이 발생하는 것이다. 이러한 문제들을 해결하기 위해 Touhou Patch Center와 thcrap이 제작되었다.

3. 특징


개발자가 생각하는 thcrap의 주요 4가지 특징[1]

4. 작동 방식

패치 자료 패치 서버 사용자(thcrap)
동방 패치 센터
https://www.thpatch.net
메인 패치 서버
https://srv.thpatch.net/
thcrap 폴더에 다운받은 자료를 이용
커스텀 파일 커스텀 서버

번역물의 흐름은 위 표와 같다. 사용자가 패치 센터에서 번역을 하거나 파일을 올리면 파서가 미디어위키의 내용을 파싱해서 패치 서버로 업데이트 한다. 파서의 소스 코드는 깃허브에 있다.

thcrap은 repo.js 혹은 patch.js에 저장된 서버의 주소에서 패치 파일들을 다운받아 적용시킨다. 일단 한번 다운받은 뒤로는 업데이트 기능이 정지된다 해도 로컬에 존재하는 파일로 패치를 실행할 수 있다.

패치 서버는 공식 서버 외에도 사용자가 파이썬을 써서 자유롭게 만들 수도 있다. 서버 구축 방법. 수많은 모드들이 이와 같은 커스텀 서버로 배포된다.

thcrap의 가장 핵심적인 두 가지 기능은 binhacks와 breakpoint이다.[2] 이를 통해 코드를 수정하고 C 함수를 불러오거나, 추가로 메모리를 할당할 수 있다. 이론적으로는 요요몽의 사쿠야 발사 타입을 휘침성에 적용할 수도 있다고 한다.[3]이론적으로는

5. 사용법

6. 한국어 패치

한국어 포탈 페이지
한국어 패치 페이지
한국어 패치 서버

thcrap은 빙의화 패치가 나오기 전까진 한국 팬덤에게 거의 알려지지 않았다. 알고 있는 사람도 몇몇( #, #, #) 존재했지만 극히 소수였고 결정적으로 번역이 거의 되어있지 않았기 때문이다. 그리고 심기루를 제외한 모든 작품은 thcrap을 쓰지 않는 패치가 이미 있기 때문에 알 필요도, 알 기회도 없었을 것이다.

그러나 빙의화 한국어 패치가 thcrap을 통해 배포된 것을 계기로 동방 패치 센터와 thcrap의 존재를 아는 사람이 늘어날 듯하다. 2018년까지의 상황은 요정대전쟁과 신령묘의 텍스트 부분과 천공장의 일부분만이 완성되었을 뿐이었다. 지령전과 휘침성의 극초반 부분도 되어있기는 했다.

'18년 12월에 빙의화가 완료된 것을 시작으로 '19년 1월 31일, thcrap이 지원하는 모든 작품에 대해 한국어 패치 작업이 완료되었다.[4] 이 모든 게 한 유저에 의해 불과 2개월만에 이루어졌다.

기존 한국어 패치에 비하면, 요요몽과 영야초를 제외하고 모든 정규 슈팅 게임과 심기루 이후 격투게임에 대해 완벽하게 한국어 패치를 지원할 수 있는 방법은 thcrap밖에 없다. 기존 패치에서 홍마향, 풍신록, 지령전은 엔딩이나 스태프롤이 제대로 번역되지 않았고 성련선 이후는 플레이어 데이터의 스펠카드명을 한글로 출력하지 않기 때문이다. 비상천칙 이전 격투게임은 불완전하거나 지원하지 않으니 기존 패치를 쓰는 것이 좋다.

한국어 패치의 의존성은 'base_tsa'(슈팅), 'base_tasofro'(격투) 뿐이었으나 '18년 12월 5일자로 'script_latin'을 추가했다. 이는 심기루~빙의화에서 가로방향 대사와 말풍선을 자동으로 적용하기 위해서이다.

주로 사용되는 글꼴은 신령묘 이전은 나눔고딕이고 휘침성 이후로는 나눔명조이다. 격투게임 계열의 대사에는 a자막체를 사용한다.

6.1. 번역이 완료된 작품

슈팅게임 전부 및 심기루 이후 격투게임을 포함한다.

6.2. 부분적으로 완료된 작품

7. 패치 및 모드들

7.1. 기본 패치

이 패치들은 thcrap을 적용하기 위한 핵심 해킹 코드와 breakpoint들을 포함하고 있기 때문에 거의 모든 패치에 필수적이다. 이게 없으면 그냥 원본을 실행하는 것과 다름이 없는 셈.

7.2. 언어 패치


이 외에도 다양한 언어 패치들이 있다.
이 외에 클링온어, 로지반, 도기 보나 등의 인공어로도 패치가 개발되고 있다.

7.3. 모드

전체 목록 또는 https://www.thpatch.net/wiki/List_of_Patches

모드 제작에 필요한 ECL, SHT 파일에 대한 정보 모음

참고로 어떤 모드가 모든 게임에 대해 적용될 수 있는 것은 아니다. 모드를 다운받으면 어떤 게임 데이터들이 들어있는지 확인해보자.

다운받기 전에 미리 확인하는 방법은 위 패치 센터의 링크에 적혀있는 URL 목록을 보거나, 또는 thcrap이 있는 패치 폴더의 patch.js에 적혀있는 서버 주소를 보면 된다. ex) http://thcrap.nmlgc.net/repos/DTM/

그런데 'https://raw.githubusercontent.com/사용자/패치이름/master/' 이와 같은 형식이면 직접 접근할 수가 없고 'https://github.com/사용자/패치이름' 으로 들어가봐야 알 수 있다.

7.3.1. 리소스 교체 관련

7.3.2. 게임 플레이 관련

7.3.3. 기타

8. 알려진 문제점

깃허브 이슈 목록

이슈 목록을 보면 알겠지만 비상천/칙의 버그가 상당히 많다. 이 문제들을 해결하고 나서야 췌몽상을 지원할 수 있을 것으로 보인다.

8.1. thcrap

8.2. lang_ko

이전에 제작된 요요몽 패치, 영야초 패치와 호환되지 않는 부분이 있다. 바로 스코어 파일 문제인데, scorek.dat을 그냥 score.dat으로 바꾸고 플레이하면 스펠카드가 나올 때 그 스펠카드의 획득 기록이 초기화 되어 버린다. thcrap은 반드시 원본에만 적용할 것.

9. 기타

문자열을 UTF-8 래핑하는 기능이 있기 때문에 이를 이용해 앱로캘이 필요한 동방이 아닌 다른 게임을 구동하는 데 쓰는 사례도 있다.

패치 147개(...)를 한꺼번에 적용시킨 영상이 있다. 다만 정말로 모든 패치가 다 적용되는 게 아니라 겹치는 파일이나 속성은 리스트 중에서 가장 뒤에 있는 게 최종적으로 선택된다.

약자가 영 좋지 않다. crap에는 이란 뜻이 있는데, 즉 똥퍼가 되어버린다(...).

10. 외부 링크

11. 관련 문서



[1] 이미지: 파일:thcrap_refer1.png [2] 이미지: 파일:thcrap_refer2.png [3] 대화 전문 [4] 정확히는 기존 패치 자료를 옮긴 것이다. 때문에 이미지 쪽에서는 휘침성 6스테이지 같은 기존의 오역이 아직도 남아있으며, 일부 리텍스처 패치 위에 사용하면 텍스처 충돌이 일어난다. [5] 스팀판은 아직 튕긴다. [6] custom.exe는 아직 지원하지 않는다. [7] 한 예로, 요우무의 축취검 "무위무책의 명벌"은 이렇게 나온다.(...) [8] 예를 들어 레이무는 Rachel Heartway, 마리사는 Melissa McDonald 이런 식 [9] 예를 들어 사쿠야의 나이프는 야구공으로 컨셉이 바뀌었다. [10] 게임 내 등장하는 적의 행동을 기술하는 스크립트 파일