본문 바로가기

쓰기

[플러그인, 소스] MultiPlugin

MultiPlugin 은 여러개의 플러그인을 동시에 사용할 수 있도록 고안된 플러그인입니다.



이런 식으로 플러그인을 여러개 등록하여..



이런 식으로 등록하면 번역이 ezTransXP 에서 한번 처리되고 ATPlugin 에서 재처리됩니다. 등록된 순서대로 불리게 되어 있습니다.

이 플러그인은 후킹 / 번역 겸용입니다. 같은 플러그인을 이렇게



후킹 플러그인에서도 사용 가능합니다. 단, 후킹 플러그인의 경우 같이 사용하면 서로 충돌하는 플러그인이 있을 수 있으므로 사용상 주의를 요합니다.

* 사용방법
1. 플러그인을 받아서 Algorithm 폴더 (후킹 플러그인으로 사용시) 혹은 Translator 폴더 (번역 플러그인으로 사용시)에 풉니다.
2. 후킹 플러그인이나 번역 플러그인으로 선택 후 옵션 버튼을 누릅니다.
3. 옵션창에서 원하는 플러그인을 추가해 사용하시면 됩니다. 순서대로 불리기 때문에 플러그인 순서를 위로/아래로 버튼을 눌러 조정해 주세요.
4. 각 플러그인들의 옵션을 조정하려면 이 옵션창에서 "설정" 버튼을 누르거나 플러그인 이름을 더블클릭하면 각 플러그인들의 옵션창으로 들어갈 수 있습니다.
5. 바로가기에서의 옵션은 다음과 같습니다. 단, 옵션사이에 빈칸은 허용되지 않으니 주의를 요합니다. 특히 콤마 (,) 뒤에 빈칸을 넣지 마세요.
MultiPlugin{플러그인1{옵션1},플러그인2{옵션2}...}
(예: 번역 플러그인에서 ezTransXP.dll 과 ATPlugin.dll 을 같이 사용할 때)
/t:MultiPlugin{ezTransXP{},ATPlugin{}}

* 알려진 문제점 -이 라기보다는 아랄트랜스 자체의 버그
아랄트랜스 0.2.20080518 버전의 버그로 인해 다음과 같은 문제가 있습니다. 아마 이후 버전에서는 제대로 동작할 것입니다.
1. 아랄트랜스 설정창의 번역 플러그인 선택시 Translator 폴더의 홀수번째 플러그인만 리스트에 나오며, 바로가기로 선택해도 사용이 불가능합니다. 이 문제는 Translator 폴더에서 임의의 플러그인을 하나 복사해서 MultiPlugin 을 홀수번째로 만들어 사용하면 선택 및 사용이 가능합니다.
2. 아랄트랜스 바로가기로 사용할 때 번역 플러그인의 옵션값을 제대로 플러그인에 넘겨주지 않아 5월18일자 를 사용하는 경우 수동으로 로딩을 시켜줘야 합니다.
3. 아마도 후킹 플러그인중 일부 (ATCode 등)가 LoadLibrary 함수를 후킹하기 때문이 아닌가 싶지만 후킹 플러그인을 바로가기로 로드시키면 에러가 나는 경우가 있습니다. 이런 경우 해당 후킹 플러그인을 맨 나중에 로드되도록 하시기 바랍니다.
예:
    /a:MultiPlugin{ATCode{...},APlugin{}}  - 에러 발생
    /a:MultiPlugin{APlugin{},ATCode{...}} - 에러 없음

* 플러그인 다운로드
   플러그인 본체 : MultiPlugin_20080703.rar
   플러그인 소스 : MultiPlugin_source_20080703.rar
     이 플러그인의 소스는 GPL 라이센스를 따라 개작, 재배포가 가능합니다.

* edit at 2008.07.03.11:25pm 
  버그 하나 발견해서 고쳐서 다시 올립니다. 11:25pm 이전에 받으신 분은 다시 받아주세요.

Hide_D

2008.07.03
22:33:51
전처리, 후처리의 개념이 포함된 건가요?
아니면 단지 다중 실행의 목적만 있는건가요?

whoami

2008.07.03
22:39:43

전처리 후처리 가능합니다.. 예를 들어,
preFilter -> ezTransXP -> postFilter 순으로 등록하면 preFilter 의 출력값이 ezTransXP의 입력값이 되고 그 출력값이 postFilter의 입력값이 됩니다. 여기서의 출력값이 MultiPlugin의 출력값이 되고요. 후킹 플러그인의 경우 특성상 순서대로 처리될 필요는 없으므로 순서에 큰 의미는 없습니다. 후킹 플러그인의 MultiPlugin 사용용도는 아마도 게임 런타임 패치 혹은 치트기능 같은 것이 될 것 같습니다.

MILD

2008.07.03
22:56:54
멋지네요!! 감사합니다.

Hide_D

2008.07.03
22:56:58
흐음....
그러면 말이죠?

단순씨의 후커사전을 베이스로 깔고나서
사용자사전을 추가해서 쓰는 방법도 가능하겠네요?

방법을 들어보자면...

준비??
1. 이지트랜스에서 언제나 한가지 경우로 번역되는 경우를 찾아둔다.
또는, 사용자 사전에 예비 풀을 깔아둔다(특수 단어1 느낌으로)
2. 추가할 사용자 단어를 찾아둡니다

실례.
'杏さん'는 '쿄우상', '안즈상' 두가지가 가능한데,
이 게임에서는 '안즈상'으로만 하고 싶다면,
1. 전처리로 '杏さん'->'山下'로 몽땅 처리
2. '山下'가 '야마시타'로 번역된다. (정말 그렇게 되는지는 확인 안해봤습니다)
3. 번역된 '야마시타'를 '안즈상'으로 변경

whoami

2008.07.03
23:03:58

Hide_D군님// 역시 가능할겁니다. 아예 해당 단어를 번역 안되는 [1] 같은걸로 정의해서
1. 전처리로 '杏さん'->'[1]'로 몽땅 처리
2. 번역기를 거쳐서
3.  '[1]' -> '안즈상'으로 몽땅 처리

.. 식으로 해도 될듯.

관리자

2008.07.04
00:23:34
이긍.. 버그는 일주일전에 잡았지만
깜빡하고 업데이트를 시켜놓지 않았네요..
정말 죄송합니다.
열악한 환경에서 개발하시느라 힘드셨죠;;
버그 수정해서 업데이트 시켜 놨으니 확인해보시길

그런데 후킹 플러그인은 멀티로 돌리면
예상치 못한 오류가 속출할 것 같은데요...
후킹 플러그인은 후킹하는 함수들이 다 비슷비슷해서
중복 후킹의 경우 후킹체인이 형성된다든지 하는
멋진 처리는 아랄에 없답니다... ㅜㅜ

파쿤

2008.07.05
01:11:25

에..멀티플러그인 하고 옵션을 누르면
플러그인 이름 옵션 그런게 일본어로 나오네요..
어떻게하죠?

whoami

2008.07.05
16:29:24
혹시 어플로케일 같은걸로 돌리시지 않으시나요?

플러그인 이름이나 옵션 같은 글자가 중요한건 아니니까 위의 스크린샷을 참조해서 맞는 버튼을 눌러 사용하세요.
프로그램 작동만 잘 되면 별 무리는 없을듯.

Hide_D

2008.07.06
11:41:18
whoami님 유니코드를 사용해 주세요;;
여유 있으시면 VS2008로 옮겨오시는것도;

whoami

2008.07.06
20:53:24
음; 반드시 유니코드로 작성하라는 말도 없었을 뿐더러 플러그인 스펙 자체가 MBCS 라서 저도 MBCS베이스로 작성했었습니다;;

.. 그리고, VS2008을 제가 안쓰는 이유가 있습니다. 공유 라이브러리로 컴파일시키면 2005/2008 전용 런타임 라이브러리를 설치해야 하고, 그렇다고 정적 라이브러리를 쓰면 프로그램 사이즈가 엄청나게 커지기 때문이죠. VC6의 경우 공유로 해도 well-known 이기 때문에 특별히 무언가 설치할 필요가 없거든요. MFC를 써도 대부분의 컴퓨터에는 MFC42 는 설치가 되어 있고 말이죠.

정 글자 깨지는 것이 눈에 거슬리신다면.. 유니코드 변환을 해서 다시 올려드리든지 아니면 옵션 대화상자를 영문으로 바꿔서(...) 올려드리겠습니다 -_-;

관리자

2008.07.07
23:30:49
음.. 저도 처음에 0.2 설계할 때
멀티바이트 문자로 프로젝트를 진행했다가..
어플로케일 등 다양한 문제와 부닥치면서;;;
현재 모든 아랄 프로젝트들이 유니코드로 빌드되고 있습니다.
다만 모듈간의 인터페이스는 멀티바이트죠 ㅡ,.ㅡ;;
내부적으로 변환을 다 거치고 있다는...

그리고 말씀하신대로 vs6 환경에서 빌드하는게 호환성 문제가 없고 좋죠
다만 저같은 경우 stl포트나 비주얼어시스트를 깔기 귀찮아서..
2005/2008 환경에 적응해 버렸답니다.
디자인도 쬐금 예뻐서.. ㅎㅎ
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 2008-08-03 155444
9 Talk [버그 보고?]브라반 드디어 원인을 찾았습니다. orz [6] Hide_D 2008-07-08 15593
8 Talk 브라반 대체 뭐가 문제인걸까요 orz Hide_D 2008-07-08 15990
7 Talk 2등 ~ [3] 앙마vv 2008-07-08 15977
6 Talk 1빠!!! [1] 아랄 2008-07-08 19435
5 Archive [플러그인, 소스] preHK2FK [3] file whoami 2008-07-04 23992
» Archive [플러그인, 소스] MultiPlugin [11] file whoami 2008-07-03 18212
3 Archive [소스] AralTrans 0.2 - ATCode 플러그인 [1] file 아랄 2008-06-27 18376
2 Archive [소스] Aral Trans 0.2 - 기리기리 플러그인 file 아랄 2008-06-22 18550
1 Archive [소스] AralTrans 0.2 - 이지트랜스 플러그인 file 아랄 2008-06-22 18513