Skip to content

Releases: snake759494/shin-srw-korean-patch

v1.0.15 - 작전목적·글자 밀림·V 글꼴 수정

Choose a tag to compare

@snake759494 snake759494 released this 04 Oct 06:35

신 슈퍼로봇대전 한글패치 v1.0.15

v1.0.14 이후 들어온 제보(#4, #7, #8, #9, #10, #11, #12)를 반영한 릴리스입니다.
세이브 데이터는 그대로 쓰실 수 있습니다.

9화 등 작전목적의 승리·패배조건이 비어 보이던 문제 (#12)

빌더 버그였습니다. 맵 도중 목표가 바뀌는 시나리오는 이벤트 플래그에 따라 작전목적 블록을
고르는 조건 분기 스크립트(76 … 78 … 77 … 78 … 75)를 씁니다. 빌더는 단순한 형태
(78 … 75)만 새 위치로 옮겨 주고 있어서, 번역문이 길어지면 이 분기 스크립트가 한국어 대사
한가운데를 가리켰습니다. 그래서 승리·패배조건이 모두 공백으로 나왔습니다.

  • 분기 스크립트의 모든 블록 참조를 따라가 다시 맞추도록 고쳤습니다. 해당 시나리오 멤버는
    20, 25, 29, 34, 41(9화), 43, 45, 67입니다.
  • 승리조건 목록이 길어지면 패배조건 목록의 위치가 밀리는데, 블록의 패배조건 오프셋은 갱신하지
    않고 있었습니다. 이것도 함께 고쳤습니다(42, 45, 46, 64, 72 등).
  • 완성 이미지의 128개 멤버 전부에서 각 블록이 승리·패배 목록의 시작을 정확히 가리키는지
    검사했습니다.

대사 글자 밀림 (#4)

대사 창은 한 줄에 20칸이 들어가고 21칸째부터는 다음 줄로 넘어갑니다. 한글, 영문, 숫자, 문장부호,
공백 모두 1칸입니다. 전체 대사를 검사해 20칸을 넘는 줄이 있던 시나리오·전투 대사 133개를 모두
다시 나눴습니다. 화자 이름이 따로 한 줄을 쓰는 프롤로그는 창이 달라 제외했습니다. 원문보다 줄이 늘지 않게 했고, 맞지 않는 대사는 문장을 다듬었습니다.

함께 고친 표현:

  • 아렌비(アレンビー) 표기 통일: 대사·이름·도감·시나리오 제목까지 전부
  • 「포오오렬」 → 「폭오오렬」 (폭열 갓 핑거 24곳)
  • 「하잖 나」「소행성 에」「존재한다, 는」「취하 겠다」 등 띄어쓰기
  • 「대체 전체」 → 「대체 저게」, 「슈○치」 → 「슈왓치」, 쿄우지 「글렀다」 → 「틀렸다」
  • 「가 주게」 → 「가주게」로 통일

도감 글자 밀림·뒷부분 잘림 (#7, #8)

도감 창은 한 줄 25칸이고 자동 줄바꿈이 없어, 넘치는 글자는 창 밖으로 그려져 잘렸습니다.
25칸을 넘던 로봇 도감 27개, 파일럿 도감 13개의 줄을 다시 나눴습니다.

  • 「다이세츠잔 오로시」·「대설산 던지기」 → 「대설산 오로시 2단 뒤집기」로 통일 (도감, 전투 대사, 무기명)
  • 옵션의 「デモ選択」 머리글 → 「데모」

UI (#9, #10, #11)

  • 부대표 정렬 「HP쉽」「EXP쉽」 → 「HP순」「EXP순」. 順 글자 칸 하나가 번역되지 않고 남아 있었습니다.
  • 버튼 설정 「스타」「셀렉」 잘림 → 「시작」「선택」. 칸이 반각 4칸이라 두 글자만 들어갑니다.
  • LV의 V 글꼴: 인코더가 V를 볼테스Ⅴ용 로마 숫자 칸으로 찍고 있었습니다. LV뿐 아니라
    대사의 TV, V-MAX, V2 등도 마찬가지였습니다. 이제 볼테스Ⅴ만 로마 숫자를 쓰고 나머지는
    일반 V를 씁니다.
  • 강화파츠 장착 설명을 메뉴 표기와 같은 「강화품」으로 맞췄습니다. 메뉴 칸에는 「강화파츠」가
    들어가지 않습니다.

대사 수정 (#9, #10, #11, #12)

  • 1화: 「아군? 좋아」, 「모두 가자」, 수녀 대사의 빈 줄 제거
  • 3화: 「잘못이었소」, 「예? 정말입니까?」 (2곳)
  • 4~5화: 「뭐? 구원 요청?」, 「행정관 출신」, 「본부에도」, 「첫 출전」(위진 → 첫 출전)
  • 7~9화: 「코우지?」, 「잊었나?」, 「그대로입니다」, 「보이지?」, 「여자친구가 되었다는 거야?」, 「계속」

빌드·검사 도구

  • qa_translation.py가 대사 20칸, 전투창 2줄, 도감 25칸을 검사합니다. 같은 문제가 다시
    들어오면 빌드 전에 걸립니다.
  • 전투 대사 파일의 메시지 탐색이 스크립트 영역의 표 값 0x08FC를 메시지 시작으로 오인할 수
    있던 문제를 빌더와 감사 도구에서 함께 고쳤습니다.

검증

  • 저장소만으로 처음부터 빌드해 배포 이미지와 바이트 단위 일치 확인
  • qa_translation.py, qa_issue_followups.py, qa_battle_names.py, qa_issue74.py 통과
  • 128개 SCEDATA 멤버의 작전목적 블록 검사 통과, 전투 스크립트 점프의 메시지 중간 착지 0건
  • 패치를 원본 디스크에 되돌려 적용해 결과 해시 일치 확인
  • 에뮬레이터는 실행하지 않았습니다

검증값

대상 크기 MD5 SHA-256
원본 Track 1 650,139,840 7aee4811d8cac9f439cec85722f5dc42 ef06dcf085fcccdc4617c2efed01f8b90d1dfd72f67e7cb325623eccb2514915
원본 Track 2 32,104,800 65aea234c174ee35fb574d981fe3fc4f 2fbf5a94ffc8b475741529c4a95d580c937ca37db31db227e0d6c7a917a1e95f
패치 결과 Track 1 650,589,072 dca2f8eaf1fe486e401c9d98d5bc5a7c e7b0093b2f6603267e4307bdacbc86b9f3d6da84f6125fda238112cc0975b4ec

패치 파일과 간편 적용 ZIP의 SHA-256은 함께 배포되는 SHA256SUMS_v1.0.15.txt에 있습니다.

v1.0.14 - 전투 대사 줄 넘침·표기 수정

Choose a tag to compare

@snake759494 snake759494 released this 28 Sep 06:39

신 슈퍼로봇대전 한글패치 v1.0.14

v1.0.13 이후 이 저장소에 들어온 제보(#1, #3)를 반영한 대사 수정 릴리스입니다.
세이브 데이터는 그대로 쓰실 수 있습니다.

전투 대사창 줄 넘침 수정 (#3)

전투 대사창은 이름 한 줄과 대사 두 줄, 모두 세 줄을 보여 줍니다. 번역문이 원문보다 한 줄
길어지면 마지막 줄이 맨 위 이름 자리로 되돌아가 그려집니다. 도몬의 샤이닝 핑거 대사에서
외친다!!」가 위에 먼저 보이던 현상이 이 때문이었습니다.

전투 대사 5,355개를 모두 검사해, 번역문이 원문보다 줄이 많은 대사 24개를 원문 줄 수에 맞게
다시 썼습니다.

  • 도몬 「나의 이 손이 빛나며 울부짖는다! / 널 쓰러뜨리라고 빛나며 외친다!!」 (샤이닝 핑거, 샤이닝 핑거 소드 등 7곳)
  • 도몬 「나의 이 손이 새빨갛게 타오른다!! / 승리를 잡으라고 포효한다!!」 (갓 핑거 6곳)
  • 그 밖의 줄 넘침 대사 11개 (볼테스 V 파워 대사, 라이·적 파일럿 대사 등)

용어·표기 수정 (#3)

  • 라이 「티끌이 되어라」 → 「먼지가 되어라」
  • 퍼언치 → 펀치 (류세이 너클 펀치, 보스보로트, 로켓 펀치 등 16곳)
  • 샤이닝 핑거 소드의 검도 기합을 음차 대신 뜻으로 옮겼습니다.
    멘 → 머리, 츠키 → 찌르기, 도 → 허리 (전투 9곳과 28화 시나리오 대사 1곳)

시나리오 대사 수정 (#1)

  • 19화 켄이치 「..그런 사정으로, 함께 와 주셨습니다」
  • 바로 다음 다이몬지 박사 대사의 띄어쓰기 주셨 군 → 주셨군

검증

  • 저장소만으로 처음부터 빌드해 배포 이미지와 바이트 단위 일치 확인
  • qa_translation.py, qa_issue_followups.py, qa_battle_names.py, qa_issue74.py 통과
  • 원문보다 줄이 많은 전투 대사 0개
  • 패치를 원본 디스크에 되돌려 적용해 결과 해시 일치 확인
  • 에뮬레이터는 실행하지 않았습니다

검증값

대상 크기 MD5 SHA-256
원본 Track 1 650,139,840 7aee4811d8cac9f439cec85722f5dc42 ef06dcf085fcccdc4617c2efed01f8b90d1dfd72f67e7cb325623eccb2514915
원본 Track 2 32,104,800 65aea234c174ee35fb574d981fe3fc4f 2fbf5a94ffc8b475741529c4a95d580c937ca37db31db227e0d6c7a917a1e95f
패치 결과 Track 1 650,589,072 a02dbb95d9557fdf75ca2fc70d2ae3d4 6b073d06d17e799ba05191adac6191a8200ee2b52d669f2991aedfe8e06d89ec

패치 파일과 간편 적용 ZIP의 SHA-256은 함께 배포되는 SHA256SUMS_v1.0.14.txt에 있습니다.

v1.0.13 - 전투 프리징·전투 이름 근본 수정

Choose a tag to compare

@snake759494 snake759494 released this 14 Sep 07:45

신 슈퍼로봇대전 한글패치 v1.0.13

저장소 이전 안내

이 릴리스부터 배포 저장소가 https://github.com/snake759494/shin-srw-korean-patch 로
바뀝니다. 이전 저장소(snake7594/…)는 계정 문제로 더 이상 접근할 수 없습니다.
지난 릴리스 노트(docs/RELEASE_NOTES_v1.0.x.md)에 적힌 이슈 번호(#74, #136 등)는
이전 저장소의 이슈를 가리키며, 여기서는 열리지 않습니다. 기록 보존을 위해
그대로 두었습니다.

v1.0.13은 v1.0.10 이후의 모든 수정을 담은 현재 최종본입니다. v1.0.11·v1.0.12는
계정 정지로 공개되지 못했으므로, 이 릴리스가 그 내용을 모두 포함합니다.

전투 중 검은 화면 프리징 — 진짜 원인과 수정

이전 저장소의 #136·#140·#143(라이딘/가이킹/19화 데이비드 공격 시 검은 화면)과
#137·#130·#131(전투창의 파일럿 이름이 산ウお처럼 일본어로 보임)은 원인이 하나였습니다.

원인 — v1.0.8의 "압축 코드 페이지"

v1.0.8은 전투창의 이름 줄 폭을 원본에 맞추려고, 자주 쓰는 음절 21개를 실행 파일의
8×16 반각 폰트 칸에 덧그리고 이름을 그 칸 번호 한 바이트로 저장하게 했습니다.
예를 들어 산시로는 F4 2E(산) 95(시) 49(로)로 저장됐습니다.

이 설계에는 실행 파일을 디스어셈블해서야 드러난 문제가 둘 있었습니다.

1. 이름은 그려지는 게 아니라 실행됩니다. FC09 명령은 이름 레코드를 전투창의
스크립트 해석기(RAM 0x800DAFA4)에 넘깁니다. 이 해석기는 0xEC 이상을 명령어로 읽고,
점프 테이블(0x80086044)이 0xEC~0xEF를 스크립트 포인터를 전진시키지 않는 핸들러
(0x800DB418)로 보냅니다. 압축 페이지가 드=0xEC, 아=0xED를 썼기 때문에 이 두 음절이
든 이름 26개는 해석기를 무한 루프에 빠뜨렸습니다. 아키라(라이딘 파일럿)·데이비드가
그 예입니다. 창은 루프가 끝나야 화면에 올라가므로 완전히 검은 화면이 됩니다.

2. 이 창은 전각 창입니다. 전투 대사창의 레이아웃 레코드(0x800FCBBC)는 전각 플래그를
갖고 있어, 한 바이트 글자를 0x600|바이트 번호의 와이드 글리프로 그립니다. 그 글리프는
패치가 손대지 않는 동반 뱅크(0x7F438)에 있고, 거기서 0x95는 ウ, 0x49는 お입니다.
그래서 산시로가 산ウお로 나왔습니다 — 정품 이미지에서 결정적으로 재현됩니다.

그리고 이 기능은 애초에 폭을 전혀 아끼지 못했습니다. 이 창에서는 한 바이트도 와이드
쌍과 똑같이 3단위를 전진합니다. 아무로는 어느 방식이든 36px로 원본 アムロ와 같습니다.
빌드의 폭 계산이 본문 규칙(바이트당 2)을 잘못 적용해 절약처럼 보였을 뿐입니다.

수정

  • 압축 코드 페이지를 삭제했습니다. 파일럿 이름은 다른 풀과 똑같이 일반 16×16 한글로 적습니다.
  • 이 페이지가 덮어쓰던 리테일 반각 글리프 19개를 되돌렸습니다. 고정 라벨용 두 칸(지
    0x7B, 아 0xED)만 유지합니다.
  • 폭 계산에 전각 창 모드를 추가하고, 이름 폭 검사는 상수 대신 원본 일본어 이름과 비교합니다.
  • 새 검사 도구 tools/qa_battle_names.py가 완성된 이미지에서 확인합니다:
    전투 해석기를 멈추게 할 이름 0개(이전 26개), 덧칠된 반각 칸을 그리는 이름 0개,
    64칸 줄을 넘는 이름 0개, 동반 전각 뱅크 무변경.

v1.0.11의 정렬 복원에 대하여

v1.0.11은 전투 메시지 아카이브(BTTMES.BIN)의 뱅크 포인터가 원본처럼 2048바이트 정렬을
잃은 것을 복원했습니다. 그때는 이것이 프리징 원인이라고 적었지만, 이후 CD 로더를
디스어셈블한 결과 로더가 정렬이 어긋난 뱅크도 정상 처리함이 확인됐습니다. 원본의 규칙을
되살린 것이라 그대로 두지만, 프리징 원인은 위의 압축 코드 페이지입니다.

함께 들어간 수정 (v1.0.11 · v1.0.12)

  • 이전 저장소 이슈 #126~#135의 텍스트 수정: 유닛 능력창 지형/무·유, 레인·마스터
    아시아·도몬 대사, 인터미션 문장과 띄어쓰기, 정신 커맨드 표기 등
  • make_release.py가 apply.ps1을 텍스트로 재작성하며 CRLF를 잃던 문제 수정
    (PowerShell 5.1은 BOM 없는 스크립트를 ANSI로 읽어 한글 안내문이 깨집니다)

검증

  • 저장소만으로 처음부터 빌드해 배포 이미지와 바이트 단위 일치 확인
  • qa_issue74.py 오류 0건 · qa_translation.py · qa_issue_followups.py · qa_battle_names.py 통과
  • 128개 SCEDATA 멤버 전부 압축 해제 가능, 스크립트 점프 8,750곳 중 대사 중간 착지 0건
  • 패치를 원본 디스크에 되돌려 적용해 결과 해시 일치 확인
  • 에뮬레이터는 실행하지 않았습니다

검증값

대상 크기 MD5 SHA-256
원본 Track 1 650,139,840 7aee4811d8cac9f439cec85722f5dc42 ef06dcf085fcccdc4617c2efed01f8b90d1dfd72f67e7cb325623eccb2514915
원본 Track 2 32,104,800 65aea234c174ee35fb574d981fe3fc4f 2fbf5a94ffc8b475741529c4a95d580c937ca37db31db227e0d6c7a917a1e95f
패치 결과 Track 1 650,589,072 3138ee33b8c17c2373b479c2627b0f55 527c7b4c7205063cd7b9a51417a8a51d1d5d10ee20f71d1db000c6e570311ba7

패치 파일과 간편 적용 ZIP의 SHA-256은 함께 배포되는 SHA256SUMS_v1.0.13.txt에 있습니다.
세이브 데이터는 그대로 쓰실 수 있습니다.