본문 바로가기

쓰기

제가 새벽에 내내 엘리스사의 게임인 아가씨를 내마음대로 하는 게임(お??をいいなりにするゲ?ム)을

만져보다가 결국에는 지지 쳤습니다. 이유는

너무나 많은 명령줄 때문인데요.  함수처리 예외문 기능을 하는 EL.DAT가

DENY기능이 아닌 EXACT밖에 기능을 안가지고 있기 때문입니다.

아래는 게임의 명령처리 예문 들 입니다.

エミリ106
エミリ103
梢104
梢102
理?子101_2M
エミリ咸_??
エミリ譬?_??
エミリ???_??
エミリ竅拜_??
エミリ膾聽_??
エミリ膾聽 2_??
エミリ?鵝凡 路螟脩_??
エミリ69_??
梢SEX_??
梢?嶼 2_??
梢W膾聽_??
梢SEX2_??
梢卷 褒拿_?

보시는 것처럼 앨리스 게임은 이벤트 처리 함수 이름을 일본어로 써서 그게 해석 되버리는 바람에 에러를 리턴하기 때문에 

이 처리 함수들을 정확히 입력 해야합니다. 

때문에 클립보드 모니터를 키고 씬이 넘어 갈때마다 명령줄을 전부 하나하나 확인해요. 정말 노가다죠.. (초얌섬인하루카도.. 으..)

플러그인을 제작하신 my님께서도 이문제 때문에 란스 코드를 공개하는데 한달이 걸리셨다고 합니다.

하지만 Denyword 필터를 사용한다면 deny에 10 과 _ 을 넣기만 한다면 해결 되는 문제이죠.

그렇다면 왜 Denyword필터를 사용안하는지 궁금 하실텐데요.

아래 스샷은 엘리스사 게임에 denyword필터를 넣었을 경우와 뺄경우의 스샷과 헥스 입니다.



denyword 필터를 넣었을 경우 ( AT플러그인의 폰트로드와 포인터번역이외 옵션없음 , 멀티플러그인 코필터 포함)


?尾
90A3 94F6

817A

??尾押
899E 90A3 94F6 899F
和也…?
9861 96E7 8163 8148
카즈야…?


denyword 필터를 뺄 경우  ( AT플러그인의 폰트로드와 포인터번역이외 옵션없음 , 멀티플러그인 코필터 포함)

?尾
90A3 94F6
세노오

8179


817A

和也…?
9861 96E7 8163 8148
카즈야…?


데이니필터 포함 시켜을때


데이니필터를 뺄경우

위처럼 이름이나 메뉴창. 그리고 루비문자가 포함된 글이

데이니필터를쓰면 번역이 안되는 증상이 일어나는데 이 증상은

엘리스사 뿐만아니라 이외로 많은 게임에서 증상이 일어 납니다.

제가 이쪽에는 까막눈이라 확신이 안서지만..

예상되는 문제는  데이니워드의 기본기능인 1바이트 문자 죽이기

텍스트를 처리하는 명령줄 중에 1바이트문자가 포함되어 먹히는 경우인듯 해요.

그래서 데이니필터의 기능중에서 DENY의 기능만 빼온 필터가 제작이 가능한지

문의 합니다.

Hide_D

2008.09.21
09:16:08
우선... 현재 사용중인 DenyWord 버전이 어떻게 되나요?
?尾가 공백처리되는 걸로 봐서는 최신 테스트버전은 아닌것 같은데 ^^:;

혹시 모르니까 현재 버그 수정된 최신 DenyWord를 사용해 주시면 감사하겠습니다.

1. 우선 ?尾 -> (6)? 처리되는 것은
대체로 문자열이 번역되지 않거나, 길이가 0이 되어버리기 때문인데,
제가보기엔 이 버그는 DenyWord 080910버그거든요 =ㅅ=;;;
뒷부분의 것도 마찬가지입니다.
분명 '한자만 들어간' 문장만 잘리는 것으로 봐선, 이전 버전 문제인것 같은데[...]
으음...

2. DenyWord에서 1바이트 검출 기능이 뭐냐면(지금은 좀 바뀌었습니다만)
1바이트문자들은 ASCII + 반각가타카나(요샌 쓰이지도 않는)인데
ABCDEFGHI을 번역한다고 해서
ABCDEFGHI가 AJFSLEFIJ가 되진 않겠죠?
그래서 번역해도 문제가 안되는 텍스트는 그냥 번역하지 않고 되돌려보낸다..가 기본 취지입니다.

뭐 현재 문제가 되는 쪽은 새로 바뀐 저 기능에서 진화(?)한 '비일본어 검출 기능'인데,
구버전의 경우 '히라가나,가타카나,대화기호''한글자도 없는 경우' 번역하지 않도록합니다.
그런데 한자만 들어간 경우(대체로 이름) 쪽도 번역하지 않아 텍스트가 왕창 깨지는 문제가 발생했기 때문에
현재는 '히라가나,가타카나,한자,대화기호'를 검사해서 체크하도록 하고 있습니다.

최신버전으로 테스트해보신뒤 그래도 문제가 발생한다면 말씀해주세요.
옵션으로 저 검출기능을 사용하지 않도록 해볼께요.

라파에

2008.09.21
16:07:15

문제는 한자옵션 때문이였군요.
디나이 최신 버젼으로 하니 해결 가능 했습니다. = =;
또 삽질 했군요.
하지만 문제가 되는 함수처리줄을 찾지를 못하겠네요. 이벤트씬이 무시되고 그냥 넘어가는 증상은 여전히.. 흠냐..
이쯤되니 짜증이 버럭 나네요. 그냥 코드 찾는거 포기 하고 양양이나 다녀와야 겠습니다.
두분다 즐거운 주말 되세요~

List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
64 Talk 번역함수가 불렸을 때 자신이 불린 컨텍스트 이름을 아는 문제.. [8] whoami 15151   2009-12-24 2009-12-26 15:34
4. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지 아는 방법 현재 컨텍스트의 이름을 얻는 것 외에는 대부분 원하는게 가능할 것 같습니다. pObjectExtention 에 어떤 객체의 포인터를 넣어 놓고, procTranslate 가 호출되었...  
63 Talk XML 파싱 부분에 문제가 하나 있네요. Hide_D 15772   2009-12-30 2009-12-30 21:42
xml 태그에서 그 태그에 대한 내용이 없을경우 <tag></tag> 로도 표현할 수 있지만 <tag/> 로도 표현 가능합니다. 현재 파서 부분을 보니 <tag/>형식의 태그에는 대응이 되어 있지 않은것 같습니다.  
62 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17564   2010-01-01 2010-01-01 16:59
 
61 Talk 0.3 Filter 간추려서 정리좀 해봤습니다. [1] file Hide_D 17301   2010-01-01 2010-01-02 05:08
 
60 Talk 문자열의 길이를 반영하는 '필터' [4] Hide_D 15027   2010-01-19 2010-01-22 01:28
문자열 길이가 고정되어서 포인터 바꿔치기를 통해서도 길이가 바뀌지 않는 것들이 있는데, 이놈들을 위해 길이를 반영하는 필터가 있으면 좋을것 같습니다. 인자로 반영할 메모리 주소 1. 모듈(메모리 주소) 기반 2. 레지스터 기반 으로 ATCode의 그것과 비슷...  
59 Talk 문자열 길이에 대한 건의 file G2m 15608   2010-01-21 2010-01-21 18:44
 
58 Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
 
57 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  
56 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
55 Talk XP3Dumper! [1] Hide_D 5000   2011-12-12 2011-12-24 02:57
기리기리랑 합치면 좀 재밌는게 나올 것 같아서 뜯어보고 있습니다. 결과물은 아마 내년(ㅋㅋㅋ)에 나올것 같네요  
54 Talk Hide_D's Todo List [1] Hide_D 19791   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...  
53 Talk 아랄3 디버깅이 말이죠... [2] file JKLeetro 35689   2010-04-20 2010-10-20 07:18
 
52 Talk FixLine 버그 발생 [1] Hide_D 23382   2010-04-25 2010-05-01 22:19
!梨桜 01 21 979C 8DF7 을 처리하기 위해 %01%21{T} 로 설정하면 FixLine이 씹고 다음 데이터를 뱉지 않음 %21{T} 로 설정하면 아예 '닥치고 튕김' 지정된 문자열 + 임의의 문자열 구조로 했을때 버그가 있는듯 최대한 빨리 수리를 -_-;  
51 Talk 0.3님 제발 자비좀[.....] [2] G2m 29951   2010-05-05 2010-05-23 06:21
디에스 이레 뚫으면서 알게된건데 일단 히데찌 말로는 관리자씨가 말하길 0.3 유니코드 완벽이염 ㅇㅇ 라고는 하는데 그 뭐랄까 문장 스크립트 형식이 00 30으로 시작하는 놈은 아랄이가 고대로 씹어 드셔서[............] 이걸 픽스로 잡아도 조트망이고 흠. ...  
50 Talk ATS의 문제점.. Hide_D 23578   2010-05-15 2010-05-15 19:18
0.2의 그 복잡하고 어려운 방식은 일단 뒤로 두고 0.3의 ATS가 갖는 허점이 1. 첨부파일, 필터 경로들을 [일일히!] 입력해야 한다. 2. 코드가 갱신되었을 때 대처할 방법이 전혀 없다. 일일히 입력하는 것 자체는 나쁘지 않은데, 2번 때문에 심각한 문제가 됩...  
49 Talk 0.3님 제발 자비좀[.....] file 아무개 31299   2010-05-23 2010-05-23 06:20
 
48 Talk 6월 1일 2시 챗던 Talk Hide_D 18098   2010-06-01 2010-06-01 02:34
대화 인물 : Hide_D, Rynie, G2m, 프시쵸 대화 주제 : 0.3 [ActiveX, ATS] Hide_D 본인이 직접 뜯어본것이 아니므로 사실과 다를 수 있습니다. Hide_D: 아 0.3 자체는 괜찮아요 Hide_D: 다만... G2m: ㅇㅇ Hide_D: 1. ActiveX Hide_D: 2. ATS Hide_D: 이 두놈...  
47 Talk 번역 모듈로 인터넷을 이용하는 방법. Hide_D 30169   2010-06-04 2010-06-04 23:54
굳이 번역기를 이지트랜스를 쓰지 않아도 아랄트랜스를 사용하는 방법이 필요합니다. 네이버 번역 등을 인터넷으로 접근해서 쓰는 방법으로 번역 모듈을 만들어 보겠습니다.  
46 Talk [0.2] OnPluginInit단에서 스레드를 만들 때 [회피법] Hide_D 27118   2010-06-23 2010-06-23 02:10
http://lab.aralgood.com/board_documents/3202 에 나온대로 플러그인이 초기화되는 시점이 '안전하지' 않기 때문에 Init 단에 스레드를 추가하기가 어려운데, 이를 위한 회피 방법입니다 [OnInitThread에 AfxBeginThread를 사용하면 '무조건' 얼어버리는 현상...  
45 Talk AT 0.2에서 내부 버퍼가 4096을 넘을 수 있어야 합니다. [1] Hide_D 34245   2010-07-13 2011-03-04 05:56
ATCode인지 뭔지 내부 버퍼 길이가 4096바이트로 제한되어있어서 그보다 큰 길이가 들어올 경우 문제가 생깁니다. 길이를 제한하는 플러그인들은 모두 대용량의 텍스트도 받아올 수 있도록 처리해야할 것 같습니다.