AralTrans v0.3 Renewal Project
개발자 : Aral / Hide_D
시작일 : 2011년 4월 16일
개발환경 : WinNT / vs2010 / native c++ & MFC / SVN
AralTrans 0.3 주요 컨셉
1. InjectedDLL(기존 ATCTNR.dll) – Server(기존 AralTrans.exe) 방식
과거 0.2 버전의 컨테이너 기능들이 별도 프로세스인 AralTrans.exe로 대거 이동
통신 매커니즘은 미정 : IPC / 이벤트&공유메모리 / 윈도우메시지 등
2. AT 0.2버전에서 중복된 기능의 모듈화
FontMapper : 기존 한글코드 / 일본어코드 치환하던 기능
UITrans : 윈도우 타이틀 및 메뉴 번역 기능
3. 스크립트 엔진 도입
v8 engine 이 확장성 경량성 측면에서 유리
4. 데이터 파일의 체계적 관리
각 플러그인은 운용중인 파일을 반환하는 인터페이스를 가져야 함
스크립트 파일과 데이터 파일들은 압축파일로 묶여 하나의 패키지로 배포됨
(단, 스크립트 방식을 포기할 경우 xml 또는 ini로 대체)
5. Launcher의 분리
런쳐에서는 아랄트랜스를 사용할 게임 목록을 모두 가지고 있으며, 0.2에서 가지고 있던 바로가기 등록 방식은 런쳐에 등록된 게임을 '가리키는' 방식으로 대체합니다.
ex : AralTrans.exe /run={~~~~} |
대신 게임을 등록할때, 설정을 Import하거나 Export 할 수 있도록 합니다.
6. Dll 인잭션 방식 추가
remote memory / remote thread 방식을 사용한 인잭션 방식 추가
AralTrans 0.3 구성 파일
파일 |
설명 |
AralTrans.exe |
작은 용량의 런쳐를 따로 둘지는 더 논의가 필요 DLL injection 후 각종 명령 전달 필터/번역 플러그인 로드 번역 컨텍스트 관리 스크립트 관리 (단, 스크립트가 실제 수행되는 곳은 게임 프로세스) 그 외 각종 사용자 인터페이스 |
ATCTNR3.dll (가칭) |
특정지점 후킹 In-process형(Algorithm) 플러그인 로드 Java 스크립트 엔진 탑재 (더 논의가 필요) |
AralUpdater.exe |
자동 업데이트 실행파일 기존 0.2 버전꺼 그대로 쓸 계획 |
/Language 폴더 |
한글 / 영문 |
/Plugin 폴더 |
플러그인들은 모두 이 폴더에. Algorithm / Filter / Translator 분류 폴더는 없앨까 고려 중 |
/Common 폴더 |
MFC 동적 라이브러리 및 기타 필요한 DLL 들 |
|
|
AralTrans 0.3 외형 (초안)
위의 프로토타입의 디자인만 들어있는 C# 윈폼 프로젝트 입니다.
실제 구성요소간의 상호작용과 세부적인 인터페이스 규격도 얼릉 작성해봐야 될거 같네요.
그래야 문제점이나 보완사항이 보일듯..