ATCode 플러그인 설명서
안녕하세요. 아랄 쿠소 연구실장입니다.
이번에 새로 등장한 ATCode 플러그인의 각 설정값들에 대해 설명드리겠습니다.
아래에 보시는 것이 게임 전체에 적용 될 공통 세팅 탭입니다.
<폰트 설정>
한글 폰트 로드 |
한글 폰트를 강제로 게임 내에 로드시킵니다. 한글 폰트가 출력되지 않거나, 원하는 모양의 폰트를 로드시키고 싶을 때 사용합니다. 가끔 한글 폰트를 로드하면 뻗어버리는 게임이 있으니 참고하세요. |
폰트 크기 고정 |
대사창에 글자 크기가 들쭉날쭉한 경우 강제로 크기를 고정시킵니다. 이 경우 게임 내 모든 텍스트 크기가 고정되어 버리므로 어쩔 수 없는 경우만 사용합시다. |
글꼴 |
폰트이름과 폰트크기를 설정합니다. |
<번역 설정>
포인터 바꿔치기 |
출력하고자 하는 텍스트 주소를 번역된 텍스트 주소로 바꿔 놓습니다. 번역 텍스트는 메모리 크기에 제약을 받지 않으므로, 띄어쓰기를 마음껏 해도 상관이 없습니다. 이 경우 메모리 할당/해제 와 관련하여 문제를 일으킬 거라 예상했었지만, 만들고 나니 의외로 문제 없이 잘 돌아가는 경우가 많네요;; |
메모리 덮어쓰기 |
원본 텍스트의 메모리에 번역 텍스트를 덮어씁니다. 포인터 바꿔치기보다 안전하지만 글이 짤릴 경우가 있습니다. |
한글을 일본어 문자셋으로 둔갑 |
일본 문자와 한글 문자는 같은 2바이트 크기지만 사용하는 코드 범위가 다릅니다. 따라서 텍스트를 처리할 때 내부적으로 한글이 필터링 되거나 비정상 적으로 출력되는 경우가 있습니다. 그래서 거의 사용되지 않는 일본어 문자 코드에 한글 문자를 매핑시키고, 출력시 이를 한글로 복구시키는 옵션입니다. |
한국어 대사가 길 경우 공백문자 제거 |
번역된 텍스트에서 띄어쓰기를 제거합니다. 메모리 덮어쓰기 방식인 경우만 해당됩니다. |
1바이트 문자는 2바이트로 강제변환 |
무조건 2바이트 단위로 문자를 찍는 게임들도 있더군요;; ‘!?.()-+’ 같은 1바이트 문자들이 SHIFT-JIS에도 2바이트 코드로 존재하니… 한 문자는 무조건 2바이트로 간주해 버리는 무대뽀 식 게임에는 이 옵션을 먹여버립시다. |
‘후킹 주소 추가’를 눌러 새로운 후킹 주소를 넣으면 아래와 같은 탭이 생성됩니다.
코드정보 |
이 주소가 존재하는 모듈의 정보를 표시합니다. |
번역인자 |
이 주소로 진입했을 때, 번역할 텍스트 포인터입니다. 오른쪽의 추가/삭제 버튼으로 새로운 인자 위치를 지정할 수 있습니다. 보통 함수호출 시 첫번째 인자는 [ESP+4], 두번째는 [ESP+8].. 이런식으로 나가므로, 인자 위치가 ESP+0x20를 넘어가면 후킹 위치가 잘못된게 아닌지 의심해 볼 필요가 있습니다. |
유니코드 |
텍스트 인자가 유니코드인 경우 사용합니다. |
메모리상의 동일한 텍스트는 모두 같이 번역 |
메모리 덮어쓰기 방식에서만 사용됩니다. 찾은 인자가 일본어 텍스트는 맞는데 번역되서 출력이 되지 않는 경우, 좀 더 상위의 텍스트 관련 함수를 찾아야 하는데 도저히 못찾을 경우. 최후의 방법으로 이 옵션을 먹입니다. 그러면 이 텍스트와 일치하는 텍스트는 모조리 검색해서 덮어버립니다. 하지만 맨 첫 글자가 번역이 안되고, 매번 메모리 스캔이 일어나서 속도가 느려지므로 비추… |
원본 텍스트를 클립보드로 |
번역 처리 전의 텍스트를 클립보드로 복사합니다. |
번역된 텍스트를 클립보드로 |
번역 처리 후의 텍스트를 클립보드로 복사합니다. |
‘옵션값 직접입력’을 누르시면 아래처럼 ATCode 옵션을 직접 적어 넣을 수도 있습니다.
지금 까지 ATCode의 옵션에 대해 알아보았습니다.
궁금한 점 있으시면 언제든 물어보세요. ^^
감사합니다.
예를들어서 8890 ~ 9088 까지에 맵핑시킨다 라든지 말이죠. 혹시 알수있을까해서요..