OpenRCT2에서 일부 커스텀 시나리오(eg.
'정신과 시간의 방' 시나리오)에서 시나리오 설명이 아래 스크린 샷과 같이 깨져나오는 경우가 있습니다.
먼저 결론부터 말씀드리자면
현재는 해결이 불가능한 문제입니다
OpenRCT2의 독자적인 신규 세이브 파일 포맷(*.park)이 도입되어야 하며, 도입이 된다 하더라도 기존에 만들었던 시나리오들은 이 문제가 해결되지 않습니다.
간략히 이유를 설명하자면, 현재의 세이브 파일 포맷(*.SV6, *.SC6)에서는 파일에 저장된 시나리오 설명이 어떤 언어로 입력된 문자열인지 저장하고 있지 않고,
OpenRCT2는 원작과의 호환성을 위해 이 포맷을 최대한 지키고 있어서, 한글을 저장할 수는 있지만 이게 한글을 저장한 것인지 로마자를 저장한 것인지 알 수 없기 때문입니다.
다소 억지스러운 예시를 들어서 설명해보겠습니다.
한글
가
는 (OpenRCT2가 이용하는) UTF-8 인코딩을 사용하면
ea b0 80
(16진수로 표현함)로 세이브 파일에 저장되는데
OpenRCT2는 맨 처음 나오는 16진수값
ea
하나가
ê
[1]를 나타내는 것인지, 아니면
ea b0 80
의 3개의 값을 합쳐서
가
를 표현하는지 판단할 수 없습니다.
이 때문에 저장된 문자열이 영어인지 한국어인지를 세이브 파일 포맷에 같이 저장해야 문제가 해결되고
이는 현재의 세이브 파일 포맷(*.SV6, *.SC6)의 호환을 깨지 않는 이상 불가능하므로 OpenRCT2의 독자적인 세이브 파일 포맷(*.park)이 나와야 해결이 되는 것입니다.
따라서,
지금 현재로써는 해결할 수 없는 문제입니다.
저는 전문 개발자가 아니기 때문에 위 내용에는 다소 오류가 있을 수 있으며, 잘못된 점이 있다면 지적 바랍니다.
댓글