본문 바로가기

쓰기

아아... 12월 1월 두달동안 무지 바빴습니다 oTL

회사에 문제가 생겨서..;;

 

어쨌든.. 좀 여유가 생겨서 예전부터 마음에 두고 있던 ATCode 를 손봤습니다.

 

변경점

1. CTransCommand 리팩토링

- CHookPoint::ExecuteTransCmds 에 몰려있던 복잡한 코드들을 CTransCommand계열 클래스로 정리했습니다.

  (더 복잡해졌을지도 모릅니다 -_-;)

 

2. 세로 폰트 삭제

 

3. 피시 님의 코드를 새로운 번역 방식으로 분리

- SMSTR (스마트 문자열) 이라는 번역 방식으로 분리했습니다.

- 기존의 OVERWRITE(BUFCHANGE, LENCHANGE) 는 SMSTR 로 자동변환됩니다.

  (기존에 만들었던 ATCode 를 그대로 먹여도 호환됩니다)

- 기본적으로 IGNORE 옵션으로 동작합니다. 따라서 IGNORE 옵션 자체는 삭제되어 있습니다.

  (만약 IGNORE 를 안쓰는 옵션이 필요하면 말씀하시면 다시 살려보죠)

- PTRCHEAT(LENCHANGE) 는 삭제했습니다. 피시님의 111210 버전에서도 삭제된 것 같고요.

 

4. 마이너한 변경점으로 제 디버그 라이브러리가 들어갔는데 실제 작동에 영향을 끼치는 것도 아니고;

 

테스트

- Rewrite : 제대로 작동하는 듯

- RanceQuest : 여기서 버그잡느라 난리쳤습니다만 일단 퇴치. 제대로 작동하는 듯.

- Sucre : 제 시스템 윈7 64비트에서 후킹옵션이 안먹는 문제 발생.

   피시님의 111210 버전에서도 동일한 문제가 발생하는 것으로 보아 윈7 64비트와의 문제이거나

   알파롬 프로텍트의 문제인 것으로 보임..

 

다른 게임들은 SMSTR [ OVERWRITE(BUFCHANGE) ] 이 적용된 게임이 없어 테스트 안해봤습니다.

OVERWRITE/PTRCHEAT/SOW 는 한종류씩 테스트해봤는데 대충 작동하는 듯.

 

소스는 svn/branches/whoami/ 에 있습니다. trunk2 말고요.

플러그인은 압축을 풀면 ATCode.test.log.dll 과 ATCode.test.nolog.dll 두개가 나옵니다.

하나는 로그를 만들고 다른건 로그를 안 만드는 차이밖에 없습니다.

 

로그파일은 D:\ATCode.log 로 만들어집니다. D 드라이브가 없을 때의 작동은 보장 못합니다;;

 

Sucre 테스트 가능하시면 테스트해보시고 알려 주시기 바랍니다.

 

FrigateBird

2012.02.07
18:12:28

저번에 올려드린 소스에서

(BUFCHANGE, LENCHANGE) 에 기능을 위에 말씀하신대로 이미

BUFCHANGE 하나로 사용중에 있습니다.

 

또한 PTRCHEAT 쪽도 삭제,

IGNORE 기능을 살려놓고 쓰고 있었습니다.

 

뭔가 .. 후엠님이 제가한 일을 한번 더 하신듯한 느낌이 드는군요.

지금 제가 내놓은 형태는

 

1.BUFCHANGE 만 사용시 글이 번역후 한라인 이내일때는 해당 주소 IGNORE 모드

초과시 PTRCHEAT에 기능에서 번역 포인터만 가져다 덮어쓰는 형식입니다.

2.물론 IGNORE 를 해재시 한라인 이내로 번역되면 마찬가지로 해당 주소에 번역 길이만큼 번역(잘림)

초과시 주소내에 버퍼에 번역글을 복사하여 원문 길이 유지(잘림)

 

정도로 쓰고 있습니다.

 

부가적인 필요기능을 염두하는건

PTRCHEAT 기능처럼 글이 초과될때 번역된 글의 포인터 바꾸기가 아닌

해당 타겟내에 번역문을 덮어쓰면서 초과를 해도 되는 경우입니다. 

 

 

FrigateBird

2012.02.07
18:14:38

http://lab.aralgood.com/index.php?document_srl=48293&mid=board_devtalk&comment_srl=49468

 

에 마지막 댓글로 달았는데 못보신듯 하네요.

whoami

2012.02.07
22:08:11

아. 이번 버전에 제가 중점을 둔 사항은 SMSTR 지원에 있는 것이 아니라 (이건 피시님께서 다 해두신거죠)

너무 복잡해진  CHookPoint::ExecuteTransCmds 때문에 유지보수가 힘들어진 코드를 정리해서 유지보수를 쉽게

변경하기 위한 것이었습니다. 따라서 피시님 입장에서는 111210 버전과 달라진 것이 없다고 느끼시는 것이

정상입니다 (실제로 SMSTR 부분은 피시님 111210의 원본을 그대로 복사해왔습니다)

 

제가 피시님께 부탁드리고 싶은 것은 뭐냐면, 111210 버전과 120207 버전이 (거의) 동일한 동작을 하는지 확인해

달라는 것이었습니다. 앞으로의 버전업은 이 120207 버전을 기반으로 해나가야 하는데 제가 미처 찾아내지

못한 문제점 (CTransCommand 의 리팩토링으로 SMSTR과 OVERWRITE(BUFCHANGE)의 동작방식에 차이가

있을 수 있습니다)을 아무래도 이 방식에 더 익숙하신 피시님께서 찾으실 수 있을 것 같았으니까요. 또한

SMSTR 에서 IGNORE 옵션을 남겨야 할지 남기지 말아도 될지에 대한 피시님의 의견을 듣고 싶기도 했고요.

 

그래서.. 피시님 내지는 다른 분들의 고견을 부탁드립니다.

FrigateBird

2012.02.08
14:28:43

동작 방식을 확인할 수 있는 여건이 지금 마련되어있지 않아서 조금은 힘들겠습니다.

 

 

일단 제 입장에서는 우선적으로 유니코드 문장게임에 첫바이트를 인식못하는 점(1바이트 체크로 인해 유니코드일때 문제 발생

(그대로 복사해버리셨다면 일단 보안했으리라 생각되는군요.)

 

SMSTR 에서 유니코드, 아스키의 원할한 지원,  IGNORE옵션에 하위 개념으로 포인터 교채식과 해당메모리내에 버퍼무시로 따로 있으면 좋겠네요.

 

나중에 하위 개념으로 하나 체크박스 더 추가하려고 했는데...

후엠씨가 하신다면 저는 뒤로 살짝 물러나겠습니다.

 

일부 게임에서 저런식으로만 있다면 편리하겠더군요. 

why

2012.02.08
12:03:25

글과 관련없는 내용이라서 죄송합니다만 꼭 묻고 싶은 내용이 있어서 이곳에 올립니다.

 

http://lab.aralgood.com/index.php?mid=board_qna&search_target=content&search_keyword=%EC%97%90%EA%B7%B8%ED%97%A4%EB%93%9C&document_srl=44635

 

모과님이라고 에그헤드를 이용한 사전을 만드시는 분이 쓰신 글인데... 대략적인 내용만 따지자면 아랄트랜스에서 에그헤드를 지원할 수 있는지의 여부에 대한 질문글인데 가능한 지 알고 싶습니다.

 

그리고 가능하다면 관련 지원이 가능한지도... 언제쯤이면 가능한지도 답변 듣고 싶습니다.

whoami

2012.02.08
13:27:00

일단 에그헤드에 대한 지식이 없어서 뭐라 말씀 못드리겠습니다만..

에그헤드쪽을 후킹한다면 에그헤드의 데이터를 받아올 수 있을지도 모르겠습니다.

 

그리고 그 질문글에 대한 것은.. 전처리 후처리는 필터가 하는 기능이고 정규식은 적당한 필터에 라이브러리만 넣어서

적용시키면 될 듯도 합니다. 차수.. 는 무슨 뜻인지 모르겠고요.

 

뭐.. 다 좋습니다만 문제는 작업시간 (과 흥미도) 입니다.. 아랄트랜스에 풀타임으로 시간을 투자할 수도 없고

저는 본체와 ATCode 유지보수 하다보니 시간이 없군요. 다른 개발자님들도 바쁘시거나 혹은 흥미를 잃어

손을 대시지 않고 계신 듯 하고요.

 

Hide_D

2012.02.11
00:10:15

제가 바쁜것도 있고, 1~2년사이 게임을 전혀 안해서 손을 못대고 있는데,

혹시 다른분들 여유 되시면


http://lab.aralgood.com/42182

이걸 CustomDic 대신 사용해서 기존 기능 문제 없이 동작하나 확인 부탁드려요.

일단 EggHead에 있는 사전 기능 중에서는

설계상의 문제로 정규표현식은 지원하지 않고, 나머지 개념 (전처리, 후처리, 차수, 다중 파일)은 지원합니다.

Hide_D

2012.02.11
00:12:38

덤으로 두분 모두, 아니면 적어도 두분 중 한분에게는 aralgood.com의 관리자 계정을 알려드려야할 것 같네요.

FrigateBird

2012.02.12
11:38:14

....여기까지 손대면 제가 답이 없는 인간이 될 것 같네요.

Hide_D

2012.02.12
14:21:01

"비밀글입니다."

:

FrigateBird

2012.03.01
04:26:59

"비밀글입니다."

:

whoami

2012.02.12
15:19:00

소스 추가하였습니다.

 

Hide_D님 오랫만에 보는듯? 잘 지내셨는지요 ㅎㅎ

관리자 계정을 알려주신다는 말씀은 귀찮게 업데이트해달라고 조르지 말고

알아서 최신버전으로 업데이트하라는 뜻이신가요? ^^;

 

커뮤니티 관리자는 능력도 없고 HTML이나 게시판 사용법도 모르니 주셔봐야

돼지목에 진주라는.. oTL 연구실 스팸제거 정도나 겨우 하고 있답니다.

아랄 업데이트 권한 정도만 주시면 업데이트 조르지는 않을지 모르겠습니다만

어떻게 업데이트 하는지도 알려주셔야 한다는 문제가..;;

Hide_D

2012.02.12
16:01:37

귀찮은건 아닌데,

제가 이쪽 계열에 관심이 매~~우 떨어지고 있다는게 큽니다 OTL

게임 안한지는 이제 2년 되어가는것 같고,

애니도 안보고 하니 홈페이지 접속도 자주 안하고 그렇네요.

Hide_D

2012.02.12
16:04:38

"비밀글입니다."

:

모과

2012.02.13
21:23:20

안녕하세요.

간만에 Hide_D님 글을 보게 되었군요.
 
기본적으로 에그헤드나 아랄이나....결국은 번역의 문제때문에 나온 것인데요...
몇 년간 사전을 제작해 온 입장으로서, 에그헤드의 경우에는 개발자분과 여러가지로 의견을 나누고
피드백이 이루어졌습니다.
 
RPG의 경우에는 주가 메뉴형, 또는 단추형 일어이며, 이 단어들은 무척 단순해서
간단하게 1대1로 대응해도 번역률에 향상에 큰 무리가 없습니다.
 
그러나 대다수 미연시는 결국 문장인데, 단어 하나도 여러가지 의미로 나누어질 수 있으며,
기호에 따른 어감도 달라집니다.
 
단어 상호 작용간에 달라지는 의미의 분기가 가능해지기 위해서는 정규식, 필터, 차수의 기능이 꼭 필요합니다.
전언한 바....에그헤드 발전 과정에서 저와 다른 분들이 여러가지로 TEST 해 보면서 사전 제작에 필요한 것들을
모색한 결과입니다.
 
결론적으로 일전에도  Hide_D님이 아랄의 정규식 적용은 어렵다고 들었는데요,
whoami 님은 가능한 것 같다고 해서 먼저 이 부분에 대한 결론이 우선이 되겠네요.
 
다른 것들은 가능하니, 정규식 부분만 해결 되면 문제가 없는 것이구요.
 
정규식이 불가능 하다면, 에그헤드->아랄 이렇게 거칠 수 있느냐...이게 가능한지 알고 싶습니다.  
 
 
 

whoami

2012.02.13
23:09:40

안녕하세요.

 

뭔가 이 글에 대한 댓글이 산으로 가는 기분은 좀 들지만 ^^ 정확하게 정리하자면,

Hide_D님은 아랄의 정규식 적용이 어렵다는 게 아니라 'CustomDic 의 현재 구조상' 정규식 적용이

어렵다는 뜻인 듯 하고요, 저는 아랄에 '새 필터를 제작하면' 정규식 적용이 문제가 없지 않을까

라는 뜻이었습니다. 물론 저는 에그헤드 관련 지식이 없기 때문에 실제 아랄에서 적용이 불가능할

수도 있습니다만 일단 그건 차치하고요..

 

일단 뭔가 해보려면 에그헤드의 단어 변환 방법과 CustomDic 을 제가 분석해봐야 이해를 하고

이에 대한 해결책이나 보완책을 찾을 수 있을 듯 합니다만, 저도 시간을 쪼개어서 써야 하는 상황이라

장담을 드릴 수 없군요.

 

에그헤드-> 아랄 은 정확하게 어떤 뜻인지 불확실해서.. 에그헤드가 후킹해서 빼온 데이타를 아랄이

받아서 (마치 AGTH->ClipHookerEx 처럼) 번역 후 돌려주는 식으로 한다는 뜻인가요?

List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155436   2008-08-03 2008-12-16 00:03
349 Archive [소스, 플러그인] ATCode 120407 [9] file whoami 2856   2012-04-07 2012-05-08 15:56
 
348 Archive ATCTNR (AralTrans) 120407 [1] file whoami 2085   2012-04-07 2012-04-07 23:10
 
347 Talk ATCode 새로운 기능 추가. [5] EroGame 2517   2012-04-01 2012-04-03 19:19
제가 시간만 된다면 약간의 데모스럽게 소스라도 올려드리는데.. 좀 여의치 않군요. 일단 생각한 방안입니다. 예전부터 필요한 기능이라 생각했는데 이래저래 고민 끝에 해결방안이 나왔습니다. 현재 ATCode의 후킹 방식은 한 함수 내에 후킹 지점부터 리턴 포...  
346 Archive [소스, 플러그인] ATCode 120401 [1] file whoami 5061   2012-04-01 2012-04-01 08:44
 
345 Archive [소스, 플러그인] ATCode 120310 [14] file whoami 3592   2012-03-10 2012-04-01 01:56
 
344 Archive [소스, 플러그인] ATCode 테스트 버전 120304 [1] file whoami 2675   2012-03-04 2012-03-05 05:43
 
343 Archive [소스, 플러그인] ATCode 테스트 버전 120301 [17] file whoami 3360   2012-03-01 2012-06-17 14:29
 
342 Archive [소스, 플러그인] ATCode 테스트 버전 120225 file whoami 3212   2012-02-25 2012-06-17 14:31
 
341 Talk SMSTR 의 부가옵션에 대한 토론.. [4] whoami 3800   2012-02-14 2012-07-12 19:27
ATCode 테스트버전 120207 의 댓글이 너무 복잡하게 꼬여서 이쪽으로 뺍니다. 현재 120207 에서 SMSTR 은 기본적으로 피시님 버전의 OVERWRITE(IGNORE,BUFCHANGE) 모드로만 돌아가도록 만들어져 있습니다. 그런데 피시님께서 부가기능이 필요하시다고 하셨는데...  
340 Talk CustomDic의 동작 방식에 대해서 secret Hide_D 4   2012-02-14 2012-02-14 13:36
비밀글입니다.  
339 Talk AralTrans 20120214 버전 변경점 [6] whoami 4193   2012-02-14 2012-06-17 14:29
아랄트랜스 20120214 버전에서의 변경점 1. ATCTNR.dll 버그 수정 - 모듈 정보에서 이미지 파일 크기가 부정확할 경우 Access Violation 에러가 나는 문제 해결. Rewrite (Key) 에서 작동 확인. 다른 게임은 미확인이나 피시님의 ATCTNR 패치가 거의 동일하기 ...  
» Archive [소스,플러그인] ATCode 테스트 버전 20120207 [16] file whoami 3273   2012-02-07 2012-03-01 04:26
아아... 12월 1월 두달동안 무지 바빴습니다 oTL 회사에 문제가 생겨서..;; 어쨌든.. 좀 여유가 생겨서 예전부터 마음에 두고 있던 ATCode 를 손봤습니다. 변경점 1. CTransCommand 리팩토링 - CHookPoint::ExecuteTransCmds 에 몰려있던 복잡한 코드들을 CTra...  
337 Talk XP3Dumper! [1] Hide_D 4996   2011-12-12 2011-12-24 02:57
기리기리랑 합치면 좀 재밌는게 나올 것 같아서 뜯어보고 있습니다. 결과물은 아마 내년(ㅋㅋㅋ)에 나올것 같네요  
336 Talk AralTrans, ATCTNR 111112 버전 SVN에 추가. [1] whoami 5260   2011-11-12 2012-06-17 14:29
ATCTNR 의 SVN 소스가 후킹모드 2로 되어있었는데.. 아마 예전에 지나가다정착한이A 님이 발안해서 테스트하던 후킹모드 2 판의 소스가 올라가있었던 듯 합니다. 뭐.. 실제 머리싸매고 고민하다 보니 의외로 돌려놓기가 어렵지 않아서 후킹모드 1로 돌려놓고 ...  
335 Talk FrigateBird님의 ATCode 20111003버전에 대하여.. [9] whoami 4957   2011-11-02 2011-12-10 16:16
일단 FrigateBird(잘 알려진 피시로 호칭)님의 ATCode 20111003 (줄여서 1003버전) 을 한번 훑어보았는데요, 1003 버전의 주된 변경점은 Siglus 엔진에 대한 지원이 주를 이루고 있습니다. 물론 기존 ATCode 의 버그를 잡은 것도 있지만 마이너하니 넘어갑니다...  
334 Archive [실행파일] AralTrans 테스트 버전 20111027 [4] file whoami 5178   2011-10-27 2011-11-01 21:40
 
333 Archive ATCode 손보기 20111003 [3] FrigateBird 5924   2011-10-03 2011-12-12 18:46
http://polaris.aralgood.com/index.php?document_srl=1779329 예시 코드 *기능 HEX-16 (VIEW) 원문 XX XX XX XX XX XX XX XX XX XX XX XX <-원문도 박힘 (포인터 4 BYTE, 또는 메모리 효율상 한 라인으로 해결될때는 14~15BYTE 로 사용하여 원문이 메모리에 ...  
332 Talk Windows 7, UAC, 64bit Hide_D 9107   2011-04-24 2011-06-28 01:25
사실상 요새 구입하는 '최신형' 컴퓨터들이 갖는 세팅이 Windows 7 64bit에다가 UAC를 기본값으로 두고 사용하는 방식인데, 기존 아랄트랜스가 여기에 대응하지 못하는 부분이 많습니다. Windows 7 - 사실 이게 제일 속편합니다. 이거 자체로는 문제되는 부분...  
331 Talk 컨텍스트 구조 제안(핸들러 구조) [4] Hide_D 8336   2011-04-21 2011-04-23 20:17
가령 모듈 3가지가 DumpText, FixLine, EzTransXP 요렇게 있다고 가정할때 var c0_EzTransXP = new EzTransXP("NoSpace"); var c0_DumpText = new DumpText("KOut,KHex,KHex16"); var c0_FixLine = new FixLine("/ATData/c0.dat"); c0_DumpText.setNext(c0_EzT...  
330 Talk AT 0.3 재설계 프로젝트 [1] 아랄 10551   2011-04-16 2011-04-17 09:52
1. 인젝터-서버 방식 2. IDE = vs2010 3. AT 0.3에서 시도하려 했던 중복 기능의 모듈화는 유효, 모듈 명명은 언제든 변할 수 있음 FontMapper, UITrans 4. 스크립트 엔진 = v8 5. 각 플러그인은 운용중인 파일을 반환하는 인터페이스를 가져야 함 6. Launcher...