본문 바로가기

쓰기

마찬가지로 아야카시를 몰모트로 설명해볼까 합니다.

004.JPG 

004355DA지점의 [ESP]+4 지점을 가리키고 있습니다.
게임에서는 이제 막 선택지를 출력하려고 하고 있습니다.
그 스크립트 명령어가 <MenuAdd>란 것을 알 수 있었죠
여기서 004355DA에 다시 브포를 걸고 무엇이 오는지를 확인해 보겠습니다.

005.JPG 
1 이군요[...]
다시 ㄱㄱㄱ

006.JPG 
아래에서 언급했던 대사와 동일한 구조의 포인터입니다.
011781A8이 문장 포인터고 12가 문장 길이, 1F가 최대 출력 길이가 되겠군요.
혹시 몰라 확인해 보자면

007.JPG 
일본어 문장이 확실한 것을 볼 수 있습니다.

008.JPG 
그리고 다시 진행하니 또한번 MenuAdd가 오는군요.

009.JPG 
2 군요.
2번째 선택지란 거겠죠.

010.JPG 
이번에도 문장 포인터가 나타남을 알 수 있습니다.
계속 실행해보면

011.JPG 
또다시 MenuAdd군요

012.JPG 
예측대로 3번째.
다시 실행 ㄱㄱ

013.JPG 
이번에도 문장이 오는데 이번엔 포인터가 아니라 문장이 통채로 왔군요 -_-;
귀찮아서 언급 안하려 했지만 그 이유는 최대 길이에 있습니다.
최대길이가 0F이하일 경우엔 대사포인터가 오는게 아닌 대사 그 자체가 와버리는 연산을 하더군요.
아야카시란 녀석은
여하튼 계속 진행해 보겠습니다.

014.JPG 
3개의 선택지를 내놓고 비로소 MenuEnd
그 이후엔 곧바로 선택지 출력을 확인 할 수 있었습니다.

여기서 말하고 싶은 것은 선택지를 출력하는 단계
즉 004355DA라는 함수를 거칠때마다 불러오는 데이터의 수순입니다.
종합해보면

<MenuAdd> -> 1 or 2 or 3(선택지 번호) -> 대사 포인터(혹은 대사) -><MenuAdd>->.........-><MenuEnd>

인 것을 알 수 있습니다.
만약 이것을 알고리즘화 해 패턴을 잡을 수 있다면 그러니까

<MenuAdd>가 오고 번호가 온뒤에 오는 대사 포인터 혹은 대사를 번역한다는 알고리즘을
아랄에 적용할 수 있지 않을까 해서 올려봤습니다.

문장 길이 지정만큼 많은 게임에서 쓰이는 방식은 아니지만 히데씨에게 설명해보니
여기에 직접 올려달라는군요 ㅡㅡㅋ

물론 이렇게 더러운 연산만 있는건 아닙니다.016.JPG 
어째선지 15번 이미지가 안올라오는군요 -_-;;;;;;;

이름 출력 부분입니다.
이미지가 안올라온지라 설명을 하자면 우선 처음으로

<Name>이 [ESP]+4에 오고
두번째로 바로 저기 드래그 되어있는 이름이 온 형상입니다.


<Name> -> 이름

이라는 간단한 구조도 존재하니 활용할 수 있지 않을까 싶습니다. 




List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155437   2008-08-03 2008-12-16 00:03
149 Talk [아랄0.3] 후킹주소 추가하고 번역인자 선택시 오류인지 [3] 암흑마제 13263   2009-12-21 2009-12-21 23:22
아랄// 아랄님 ^^ 0.3 실행하여 0.2에서 찾은 코드로 적용을 할려고 하니 문제가 있는 듯 하네요 뭐냐면 후킹주소 넣고 번역인자 추가했을때 한 후킹주소에 번역인자가 2개가 있는 경우가 더러 있잖아요 그때 처음 인자 말고 두번째 인자는 무조건 아무것도 ...  
148 Talk 0.2 & 0.3 번역플러그 기호 출력문제 [1] file 류제로 16290   2009-12-21 2009-12-22 11:33
 
147 Talk 아랄 디버깅에서 전체문장이 나오고 다시 한글자로 나오는 경우에서요 [2] file 암흑마제 13666   2009-12-21 2009-12-22 23:37
 
146 Talk 0.3 atcode 플러그인. FrigateBird 14331   2009-12-22 2009-12-22 11:32
사용하면서 폰트셋 지정이 떨어져 나간 부분이 너무 횡하니 느껴지는데요. 그 부분에 코드 걸린것들을 표시하면 어떨까요. (별칭, 주소, 메모리 목록을.) 코드가 여러개 걸리면 그 조그마한 화살표로 왔다리 갔다리 하는것도 진절머리 납니다. ^^; 그리고 폰트...  
145 Archive [소스] ATPluginFrame 프레임워크 20091222 테스트 버전 [1] file whoami 17551   2009-12-22 2009-12-30 18:58
 
144 Talk 프로그램 종료시 OnObjectClose, OnPluginClose 가 불리지 않나요? [2] whoami 12736   2009-12-23 2009-12-23 22:27
ATPluginFrame 을 테스트중에 발견한건데, 후킹된 프로그램을 그냥 종료할 때 OnObjectClose 및 OnPluginClose 가 불리지 않는 것 같은 인상이 있군요? MessageBox 도 뜨지 않고 file 로 log 를 뽑아봐도 나오지 않는데.. 실제로 불리지만 프로그램이 종료되면...  
143 Talk ats파일에 아이콘을... [2] Hide_D 15493   2009-12-23 2009-12-23 14:27
역시 ats에 아이콘을 넣는 게 좋을 것 같습니다. 그래서 생각해본 방법 1. xml에 <icon></icon>항목을 추가해서 추가할 ico 파일을 변환해서 넣기 0xff -> 'FF' 식으로 하면 실제 ico 파일에 대해서 대략 용량이 2배가 되겠지만 '별 수 없죠' 2. ats에 대한 Ic...  
142 Talk 0.3 SVN 경로 수정했습니다! [2] Hide_D 15071   2009-12-23 2009-12-23 14:03
현재 아랄트랜스가 있는 서버에 SVN이 추가되어서 속도 향상을 목표로 SVN경로를 다음과 같이 변경했습니다. svn://aralgood.com/araltrans03/trunk revision은 몇가지 실수 빼곤 22개 리비젼 그대로 옮겨두었습니다. 다만 커밋 날짜가 달라지게 되므로 경로를...  
141 Talk [Skin] 0.3버전용 폴라리스 공식 스킨(한글)을 만드려고 합니다. [8] 아랄 16143   2009-12-23 2009-12-23 23:58
AralTrans 0.3 버전용 폴라리스 공식 스킨을 만드려고 합니다. 한글 기반이구요. 현재 Default 스킨을 어떻게 변화시키면 좋을지 의견 부탁드립니다.  
140 Talk 번역함수가 불렸을 때 자신이 불린 컨텍스트 이름을 아는 문제.. [8] whoami 15151   2009-12-24 2009-12-26 15:34
4. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지 아는 방법 현재 컨텍스트의 이름을 얻는 것 외에는 대부분 원하는게 가능할 것 같습니다. pObjectExtention 에 어떤 객체의 포인터를 넣어 놓고, procTranslate 가 호출되었...  
139 Talk XML 파싱 부분에 문제가 하나 있네요. Hide_D 15772   2009-12-30 2009-12-30 21:42
xml 태그에서 그 태그에 대한 내용이 없을경우 <tag></tag> 로도 표현할 수 있지만 <tag/> 로도 표현 가능합니다. 현재 파서 부분을 보니 <tag/>형식의 태그에는 대응이 되어 있지 않은것 같습니다.  
138 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17563   2010-01-01 2010-01-01 16:59
 
137 Talk 0.3 Filter 간추려서 정리좀 해봤습니다. [1] file Hide_D 17301   2010-01-01 2010-01-02 05:08
 
136 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 17913   2010-01-05 2010-01-05 19:47
 
135 Talk 문자열의 길이를 반영하는 '필터' [4] Hide_D 15027   2010-01-19 2010-01-22 01:28
문자열 길이가 고정되어서 포인터 바꿔치기를 통해서도 길이가 바뀌지 않는 것들이 있는데, 이놈들을 위해 길이를 반영하는 필터가 있으면 좋을것 같습니다. 인자로 반영할 메모리 주소 1. 모듈(메모리 주소) 기반 2. 레지스터 기반 으로 ATCode의 그것과 비슷...  
134 Talk 문자열 길이에 대한 건의 file G2m 15608   2010-01-21 2010-01-21 18:44
 
» Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
마찬가지로 아야카시를 몰모트로 설명해볼까 합니다. 004355DA지점의 [ESP]+4 지점을 가리키고 있습니다. 게임에서는 이제 막 선택지를 출력하려고 하고 있습니다. 그 스크립트 명령어가 <MenuAdd>란 것을 알 수 있었죠 여기서 004355DA에 다시 브포를 걸고 무...  
132 Talk 어떤 정신나간 게임은 UTF-32를 쓰네요 -_-;; [1] Hide_D 19284   2010-01-30 2010-01-30 22:52
개발자가 미쳐서 Visual C++ 6.0에 iconv라도 섞어쓰는지 (아니면 gcc에 iconv... 던가) 내부 문자 처리를 UTF-32로 합니다 OTL  
131 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
130 Talk Hide_D's Todo List [1] Hide_D 19791   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...