본문 바로가기

쓰기

멀티플러그인 필터를 만들려고 하면서 제일 의문이 드는 부분인데요
그 필터들의 실행순서가 어떻게 결정되는지가 무척 궁금하네요
그러니까 예를 들어 A,B,C 3개의 필터를 순서대로 셋팅했다고 가정하면
제가 파악하기로는
      알고리즘 코드
             ↓
AFilter.OnPreTrancelate (....)
             ↓
BFilter.OnPreTrancelate (....)
             ↓
CFilter.OnPreTrancelate (....)
             ↓
         번역 필터
              ↓
AFilter.OnPostTrancelate (....)
             ↓
BFilter.OnPostTrancelate (....)
인거같은데 말이에요....

이렇게 될경우 FixLine필터와 CustomDic필터의 셋팅순서가 애매해지네요
두 필터의 성격상
PreTrance부분에서는 FixLine이 먼저 설정되어야 하고,
PostTrance에서는 FixLine이 나중에 셋팅되어야 CustomDic이 안깨지고 잘 적용될거 같은데 말이에요
즉 A->B->번역->B->A와 같이
 FixLine.PreTrance()->CustomDic.PreTrance()->번역필터->CustomDic.PostTrance ()->FixLine.PreTrance()
이렇게 적용되어야 양쪽필터가 다 안충돌하고 적용될거같은데...
저렇게 작동되도록 배치하는 방법이 지금 멀티플러그인에 있나요?
분류 :
Talk
조회 수 :
11404
등록일 :
2009.01.03
14:42:21
엮인글 :
https://arallab.hided.net/4189/846/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/4189

whoami

2009.01.03
19:42:25
순서를 잘못 아시고 계시는군요.

플러그인의 작동 순서는
후킹->필터A->필터B->필터C->번역->필터C->필터B->필터A->후킹 입니다.

호기심맨

2009.01.03
21:05:44
아하!! 스택구조였군요....
아하하 완전 거꾸로 알았네요.....(화끈)
어쩐지 ......왜 이게 꼬이지 하고.....
제가 짠부분이 잘못됬나 하고 ....계속 죄없는 소스만 노려보고 있었거든요 ..
whoami님 덕에 또 큰도움받네요....
거듭 감사드립니다.

그나저나 .dll프로그램은 처음해보는건데....
디버그를 할방법을 모르니... 답답하네요... 

Hide_D

2009.01.04
00:31:39
디버그 방법은 다음과 같습니다.

일단 SVN에서 소스를 받아 디버그 모드로 빌드

그리고 프로젝트 옵션에서 디버깅을 들어가서
파일을 게임 파일(아랄트랜스 실행파일이 아니라)을 선택하고

연결에 '네'를 선택 (즉 Run이 아니라 Attach라는 의미)

그리고 게임은 켜고나서 디버깅버튼을 누르면 디버깅을 시작합니다.


개인적으로 필터 테스트는 제가 올란 TestFilter 프로그램을 사용하시는것을 추천드립니다.

호기심맨

2009.01.04
14:58:26
아 디버그되는군요... 너무 감격 (T.T)
이야 진짜 매번 이렇게 큰 도움주셔서 너무 감사드립니다.
(근데 앞으로도 도움받을일이 너무 많을거 같아서...걱정이네요)
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
229 OtherFiles [잡다]UTF8텍스트파일 -> Hex 출력기 file Hide_D 10613   2008-08-03 2008-08-03 16:26
 
228 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 10674   2011-02-18 2011-02-18 00:02
AralTrans 0.2에서 시작해서 눈꼽만큼씩 고쳐나갈 생각입니다. 주 타겟 OS : Windows 7 32bit 목표 일자 : 2012년 오기 전 PS : JSCustom 프로젝트는 연기되었습니다.  
227 Archive [플러그인] FixLine 테스트버전 081231_2 [1] file Hide_D 10702   2008-12-31 2008-12-31 21:48
 
226 Talk FixLine 예상 작동 방식 [1] file Hide_D 10715   2008-08-23 2009-01-06 02:04
 
225 Talk 귀차니즘 발동 Hide_D 10755   2008-07-18 2009-01-06 01:00
현재 프로그래밍을 공부하면서 플러그인을 만드는 관계로 진척속도가 좀 많이 느립니다 =ㅅ=;; 그냥 플러그인 0.1 내놓고, 나중에 마저 개발해야겠네요. 데굴데굴  
224 Talk 하루카제님 요청하신거 C++로 만들어봤습니다. [3] Hide_D 10779   2009-01-05 2009-01-05 18:30
// Test.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다. // #include <stdio.h> #include <tchar.h> #include <math.h> typedef unsigned int UINT; struct BoolArray{ bool Data[32]; }; BoolArray NewBoolArray(); UINT Algorithm(char * szSource)...  
223 Archive [플러그인] DenyWord 테스트버전 081120 file Hide_D 10803   2008-11-20 2008-11-20 23:47
 
222 Talk 쓰레드를 사용하려고 하는데 제대로 안되네요; [2] Hide_D 10808   2008-12-25 2008-12-26 22:53
음 일단 쓰레드를 사용하는 파일은 CAutoLoad 클래스 하나뿐이구요. CustomDic에 포함됩니다. 5초마다 한번씩 파일리스트에 등록된 파일의 수정된 날짜를 체크해서 새로 갱신된것이면 새로 읽는다...라는 기능을 가지고 있는데, 애초부터 쓰레드가 동작조차 하...  
221 Talk 픽스 라인 연기로 인한 임시 대책 Hide_D 10821   2008-09-26 2009-01-06 01:24
본래 목적인 FixLine이 완성이 늦춰지면서 약간 작전을 변경하도록 하겠습니다. FixLine을 완성시키는 것은 유지하고 FixLine을 3개로 쪼갭니다. OutRuby : FixLine의 TextOnly옵션 DivideLine : FixLine의 Base 기능(DCOnly 대체용) FixChar : FixLine의 Add...  
220 Talk 옵션 스트링 버퍼 말이죠? [1] Hide_D 10830   2008-08-11 2008-08-11 23:22
ezTransXP단부터 확인을 해봤더니 ezTransXP도 LPSTR을 이용하는 군요 ㄱ- 옵션으로 파일명을 받으려고 했는데, 이거 참 난감하게 됬네요. c:ゲ?ムABCA_Route.txt 하면 못열테니까요. 아직 LPTSTR은 안줘봐서 모르겠지만 안된다면 충격이 좀 클듯;  
219 Archive [플러그인] DenyWord 테스트 버전 20080924 [1] file Hide_D 10891   2008-09-24 2009-01-06 01:24
 
218 Talk 라파에님 다시 한번 테스트해보세요. [3] file Hide_D 10896   2008-08-17 2008-08-17 17:23
 
217 Archive [플러그인, 소스] DenyWord 테스트 버전 20081203 file Hide_D 10898   2008-12-03 2008-12-03 10:41
 
216 Archive [플러그인] DivideLine 테스트 버전 20080927 [1] file Hide_D 10926   2008-09-27 2009-01-06 01:24
 
215 Archive [플러그인, 소스] KoFilter 테스트 버전 20080726 [5] file whoami 10977   2008-07-26 2009-01-06 01:26
 
214 Talk 디나이코필터 [2] my vagina 10993   2008-12-31 2009-01-15 00:10
코필터는 대단히 훌륭한 필터죠 근데 전부 한자로 되있으믄 간간히 해석 안되는 부분이 생기기도 하는데 어쩔수 없는 부분이 보이거든요. 이런걸 수동으로 억제 해보자는 생각이에요. 아마 코필터 내부에 들어가야 할텐데, 코필터에 디나이필터를 넣어서 일본...  
213 Archive [플러그인,소스] DumpText2 테스트버전 081231 [1] file Hide_D 11059   2008-12-31 2008-12-31 21:59
 
212 Talk 아 이런 클라나드 [1] file my Vagina 11070   2008-07-13 2009-01-06 01:00
 
211 Talk SVN 말이죠 ㅠ_ㅠ [3] file Hide_D 11128   2008-09-29 2009-01-06 01:24
 
210 Archive [플러그인] ATCode 테스트 버전 20081202 file whoami 11167   2008-12-03 2009-01-06 00:59