슈퍼로봇대전 컴플리트 박스
한패 아카이브 #78 · 버전이 바뀌어도 이 번호로 기록을 이어갑니다.
조회 1
좋아요 0
패치 정보
PS1판 슈퍼로봇대전 컴플리트 박스의 한국어 번역 패치입니다.
- 게임명
- 슈퍼로봇대전 컴플리트 박스
- 플랫폼
- PS1
- 한패 제작자
- snake759494
- 번역 범위
- 제2차·제3차·EX의 시나리오와 전투 대사, 메뉴·파일럿·기체·무기 이름 등을 한글화하며 별매 단독판용 파일도 제공합니다.
- 지원 조건
- 제작자 지정 원본 디스크 이미지가 필요합니다. 컴플리트 박스와 단독판은 서로 다른 패치 파일을 선택해야 합니다.
- 적용 방법
- 릴리스에서 본인 원본에 맞는 easy-apply ZIP 또는 xdelta를 받고, 원본 Track 1·2 BIN에 적용해 생성된 CUE로 실행합니다.
- 원본 배포 페이지
- 배포처 방문 ↗
최신 배포 정보
v0.11.55
v0.11.55 — 제2차 8화 정지 근본 수정 · 작전목적 창 · 장 선택 칸
배포처에서 확인하기 ↗버전 안내 보기
# v0.11.55 — 제2차 8화 정지의 진짜 원인(작전목적 창), 페이즈 종료·타이틀·장 선택 화면
> **패치 파일 재배포 (2026-10-06, #5)** — 처음 올린 v0.11.55 xdelta 는 v0.11.54 와 다른 인코딩 설정
> (lzma 2차 압축, 작은 소스·대상 창, 앱 헤더 없음)으로 만들어져, 일부 패처 프로그램·안드로이드 앱에서
> 체크섬(CRC) 오류가 났습니다. **게임 내용은 그대로**이고, xdelta 4종을 v0.11.54 와 같은 형식으로 다시
> 만들었습니다. 9월에 받으신 분은 xdelta 나 easy-apply zip 을 다시 받아 주세요.
## 해결한 이슈
| 이슈 | 내용 |
|---|---|
| **#1** 제2차 8화 브라이트 대사 뒤 멈춤 | 작전목적 창 명령 `E7 02` 가 재조준 대상에 없어, 번역으로 밀린 블록을 옛 주소로 읽고 스택을 덮었습니다. 아래 상세. |
| **#2** 제2차 페이즈 종료 `네/아뇨` 위치 | 숫자 칸을 줄인 만큼 선택지 이동을 되돌렸습니다(`FC FE 05` → `FC 03 05`). |
| **#3** 제3차·EX 단독판 타이틀 메뉴 일본어 | 단독판 `Z_SMAP.BIN` 의 메뉴 그래픽(멤버 29·33)을 한글로 다시 그렸습니다. |
| **#4** EX 슈우편 장 선택 간격 | 셋째 줄의 칸 경계가 2만큼 어긋나 구분선이 글자에 걸렸습니다. 아래 상세. |
---
## #1 — 작전목적 창 `E7 02`
### 무엇이 일어났나
8화에서 증원이 오면 승리 조건이 "갼(마 쿠베) 파괴"로 바뀌고 작전목적 창이 갱신됩니다.
이 창은 풀 안의 블록을 읽습니다.
04 00 | L 00 | 승리조건 … FF FF | 패배조건 … FF FF
`E7 02 <변위>` 핸들러는 블록에서 두 문자열을 찾아 **스택의 128바이트 버퍼에 0xFF 까지
길이 검사 없이** 복사합니다. 두 가지가 어긋나 있었습니다.
1. **`E7 02` 변위가 옛 값이었습니다.** 앞 블록의 승리조건이 번역으로 2바이트 늘어 뒤 블록이
밀렸는데, `E7 02` 는 대사 포인터 목록에 없어 재조준되지 않았습니다. 창은 블록 2바이트 앞을
읽어 쓰레기 오프셋(`0xFFA6`)을 얻었고, 시나리오 밖의 **배경음악 시퀀스 데이터를 문자열로 삼아
10,855바이트**를 스택에 복사했습니다.
2. 그 복사가 메인 루프의 저장된 복귀 주소를 `0x47003544` 로 덮었습니다. 아무 일 없이 대사가
이어지다가 **8화 장면이 끝나 메인 루프가 반환하는 순간** 쓰레기 주소로 뛰어 멈췄습니다.
제보해 주신 추적 빌드 세이브 두 장(대사 중 / 멈춤)으로 확정했습니다. 멈춤 세이브의 커널
예외 문맥(EPC `0x47003544`, 명령어 페치 버스 오류)과 덮인 스택 바이트가 음악 파일과 정확히
일치했습니다. 옛 저장소 #32 도 같은 증상이었는데 그때는 풀 이벤트 참조 문제로 잘못 짚었습니다.
### 블록 안 L 도 틀려 있었다
`L` 은 창폭이 아니라 **패배조건 문자열의 위치**입니다(`blk + L + 2`). 그동안 게이트가 "원문과
같은 값"을 요구해서, 승리조건 길이가 바뀐 블록의 L 이 옛 값으로 남았습니다. 그 블록들은 작전목적
창의 **패배조건이 빈 칸이거나 글자 중간부터** 나왔습니다.
| | 변위 스테일 | L 불일치 |
|---|---|---|
| 제2차 | 1 → 0 | 14 → 0 |
| 제3차 | 0 | 0 |
| EX | 0 | 0 |
### 고친 방법
- `E7 02` 를 포인터 형식으로 등록했습니다(`tools/analyze…