툴팁편집기 v1.0.1 (exe 버전)을 정식으로 배포합니다.


아래에서도 다운로드가 가능하며, 깃허브에 소스코드가 공개돼있습니다.


github 다운로드 페이지  ◀◀ 여기서 다운 받으시면 됩니다.




(아마도 안하시겠지만 ㅋㅋㅋ..) 어떤 형태로든 상업적 이용이 아니라면
자유롭게 수정하고 배포하셔도 되는데, 출처 및 원작자는 꼭 표기해주시기 바랍니다.



기본적으로 기능들은 일반 텍스트 에디터와 비슷합니다.
프로그램 내부 도움말을 참고하셔도 되고, 쉬운 UI로 돼있어서 하나씩 찾아보시면 될 것 같습니다.
단축키도 일반적인 프로그램들이랑 비슷하게 맞췄구요 (Ctrl+C, V, F, H, Z, Y 등등)

아마 기존 html 프로토타입 쓰시던 분들은 익숙한 기능들이 보이실 수도 있구요.

그래서, 별로 복잡한 프로그램은 아닌고로 따로 자세히 설명을 하진 않고
잘 모르겠다 싶으신 부분은 쪽지나 댓글로 질문주시면 답변해드리도록 하겠습니다.



다만 몇 가지 말씀드릴만하다고 보는 요소들은 다음과 같습니다 :

★ 종료 및 오른쪽 마우스 메뉴에 관해서
프로그램을 종료하시면 (현재 기본값이) 작업표시줄로 숨도록 돼있습니다.
그러니, 이게 귀찮다 싶으시면 환경설정에서 해제하시면 되고..

윈도우 쉘 메뉴라고 해서, 이 프로그램은 txt 파일을 불러오고 저장합니다.
파일 연결까지 이 프로그램이 바꾸기는 좀 뭣하고.. (기능추가 계획 없습니다 해달라고 하지 마세요 ㅠㅠ)
txt 파일을 오른쪽으로 클릭하면 윈도우즈 오른쪽 마우스 메뉴에 편집기능이 뜨도록 해놨습니다.
이게 싫으시면 마찬가지로 환경설정에서 해제하시면 됩니다.

★ 폰트에 관해서 
!! 유니코드 입력기의 즐겨찾기 문자들이 그냥 네모로 보인다고 해서 당황하지 마세요 !!
현재 프로그램에 내장된 폰트는 D2R의 기본 상태 그대로인 KodiaBlizzardGlobalTCUnicode입니다.

현재 한국 모딩씬에서 사용되는 커스텀 폰트 중에는 유니코드의 Private Use Area(PUA, 사설 사용 영역)​에 별도 글리프를 넣어둔 것들이 있습니다. 대표적으로 엽굵모드에서 쓰는 폰트가 있겠고, 아마 즐겁고님 아이템 필터에서도 이걸 사용했던 것 같은데.. 따라서 유니코드 입력기에 즐겨찾기로 지정돼있는 주소들은 보편적으로(?) 쓰이는 이 영역들을 지정해놓은 것이기 때문에 해당 주소에서 사용되는 해당 글리프가 없는 기본 폰트에서는 네모나 빈 문자처럼 보일 수 있습니다.

다만 이런 커스텀 폰트들이 어디서 처음 만들어졌는지, 재배포해도 되는지 제가 정확히 확인하기 어려운 경우가 많아서 프로그램에는 따로 포함하지 않았습니다. 대신 게임에서 직접 추출해서 사용할 수 있는 바닐라 폰트만 기본으로 넣어두었습니다. 만약 유니코드 입력기를 제대로 사용하고 싶으시면 해당 위치에 실제 글리프가 들어있는 폰트를 Windows에 설치하신 뒤 프로그램의 폰트 목록에서 직접 선택하시면 되고, 사용하시는 유니코드 목록표의 즐겨찾기 목록들 또한 백업/불러오기가 가능하니 참고 바랍니다. 자주 쓰는 폰트라면 환경설정에서 기본 폰트로 지정해두셔도 되구요.

그밖의 참고사항들 

1) 기본적으로 txt 파일들은 다 이 프로그램으로 열 수 있습니다.
이 프로그램으로 여시고 저장하시면, 이 프로그램 상에 있는 서식변경 같은 부분들도
txt 파일 하단부에 따로 저장하게 됩니다. 이 부분을 지우시면 다음 번에는 서식을 인식 못할 수도 있습니다.

2) 유용한 단축키로는,

- 글자 블록 잡으시고 Ctrl+Alt+(색상문자) 누르시면 해당 색상이 됩니다. ex) Ctrl+Alt+2 = 녹색

- 글자 블록 잡으시고 Ctrl+Shift+C / V 누르시면 해당 글자 색상만 복사 / 붙여넣기 하실 수 있습니다.
(블록 내 문자열의 색상이 여러 개로 겹치는 경우 맨 앞 글자 색상을 따라가는 것 같습니다.)

3) [JSON 키 추출] 기능
: 메뉴바에 보시면 JSON 문자열에서 키값만 추출해서 남겨놓을 수 있는 JSON 키 추출 기능이 있습니다.

4) 설류혼님 @Myc 문자 교체 호환
: 바꾸기(Ctrl+H) 메뉴에서 보시면 ÿc <-> @Myc 이라는 버튼이 있는데, 눌러보시면
찾을 문자열에 ÿc, 바꿀 문자열에 @Myc, 한번 더 누르면 둘이 위치가 바뀝니다.
이걸로 설류혼님 모드에서 @Myc으로 우호하는 서식에서도 비교적 쉽게 바꿔서 적용이 가능합니다만,
메뉴바에서 반드시 "ÿc0 반영"에 체크하셔야 변환 후에도 흰색 글자가 남아납니다.
(물론 완벽하게 그대로 상호전환이 안될 수도 있지 않을까 싶긴 한데.. 없는거보단 낫더군요 ㅎㅎ)

5) 0 너비 문자에 관해서
: 0 너비 문자를 넣어서 폰트를 fallback 시키는 방법은 꼼수기 때문에 (아래 html 버전 당시 설명 참고)
구현방식에 따라 적용이 잘 안될 수도 있고 유니코드가 깨져서 *로 출력되기도 하고 그럴 수 있습니다.
보장하진 못하니, 주의해서 사용하세요.

6) 편집창과 코드창에서 스크롤 동기화
: 편집창이 주 편집창이고 코드창은 참고용입니다. 메뉴바에 스크롤 동기화 옵션이 있기는 한데, 어디까지나 참고용이라서 "그 부근을 가리킨다" 정도이지, 정확하게 편집창 커서위치와 동기화되진 않으니 참고 바랍니다. (정확하게 구현하기는... 어려웠어요 ㅠㅠ)

7) 메뉴바의 편집창 복사 옵션에 대해서
: 뭘로 설정하든 일단 기본값으로 되돌릴 수 있는 기본값 버튼이 있구요.
그렇게 되면 편집창에서 복사해서 다른 곳에 붙여넣었을 때 일반적인 툴팁 키값과 동일한 형식으로 복사됩니다.
그런데 그냥 글 내용만 복사하고 싶으면 색상기호 미포함, 줄바꿈 적용, 유니코드 글리프로 복사(혹은 u 문자열로 복사)를 선택하셔서 복사하시면 글 내용만 복사되는... 그런 원리입니다.

예전 html 버전 툴팁편집기(CodeEditor_2.21.zip)는 게시글에 첨부파일로 남겨놓겠습니다.






(여기서부터는 이전 html 버전 게시글 ▼)

래더가 막바지인 시점에 제가 세팅해서 쓰던 것들을
(공개해도 될 것 같은 것들만) 하나씩 올리고 있습니다만..

이번에 올려드리는 건 모드는 아니고, 제가 쓰는 인게임 툴팁 구현도구입니다.
아마 모더분들이나 저 같은 기존 모드를 헤비 커스텀 해서 쓰는 유저들에게 도움이 되겠죠.

챗지피티로 요래조래 만든거라, 코딩잘알이신 분들이 보시면 읭?스런 이상한 코드가 많을 수 있고
버그도 있을 수 있는데, 나름 저는 적응 잘해서 임시로나마 잘 쓰고 있던 것을,
또 배포한다고 생각하니 한번 더 보수적으로 접근해서 고친 버전입니다.

코딩이 쓰레기일지라도 어찌저찌 작동을 한다면 그대로 두는 것이 철칙이란 얘길 듣긴 했습니다


사실은 설류혼님 예전 게시글 (링크) 을 보고 "아 툴팁도 왼쪽 정렬을 구현할 수 있구나!" 라는 사실을 깨닫고
기존에 제가 쓰던 편집기에서 가독성을 살릴 수 있도록 탭 구현기능을 추가해보고 싶어서 만들어쓰다가
꽤 유용한 것 같아서 공유를 해보려고 합니다.

(근데 다들 툴팁 만드시는 거 보면 이미 비슷한거라도 쓰고 계신 느낌인데.. 혹시 저만 모르고 있나요..?
아니면 코딩프로그램에서 지원이 되는 기능인 건가.. 제가 전공이 그쪽이 아니라서 잘 모르겠네요)



대충 이렇게 생긴 것인데..
어떤 기능이 있는지는 아마 대충 받아서
몇번 만지작거려보시면 아실꺼라고 생각합니다.

+) 예를 들어, 

ÿc0활력당 생명력 증가량nn1활력 ÿc5↔ ÿc14ÿc0생명력 : ÿc4야만용사nÿc01활력 ÿc5↔ ÿc13ÿc0생명력 : ÿc4아마존ÿc5/ÿc4암살자ÿc5/ÿc4성기사ÿc5/ÿc4악마술사nÿc01활력 ÿc5↔ ÿc12ÿc0생명력 : ÿc4강령술사ÿc5/ÿc4원소술사ÿc5/ÿc4드루이드

이런 문구가 있다면, 눈으로 보기 힘들고 ÿ기호도 쓰기 힘들고.. 그러나 만약 이 편집기에다 넣고 붙여넣어보시면...



요렇게 게임을 켜보지 않고도 깔끔하게 재현되어서 나오는 기능이 있지요...
그리고 저 상태에서 입맛대로 편집을 하시고 다시 붙여넣으시면 되는 것입니다요.


--아래부터는 설명이 꼭 필요한 분만 읽어보시면 됩니다--

굳이 윗줄부터 간단하게만 언급을 해드리자면,

1. 문서로서 저장기능
- 브라우저 탭에 보이는 문서 제목을 적용하고 해당 문서를 저장하실 수 있습니다.
저장된 문서는 마치 저장된 txt 문서처럼 해당 html 문서를 다시 열어봤을 때 그 내용이 유지됩니다.

2. 미리보기 기능
- 코드 텍스트 입력창과 미리보기 창이 구분되어 있고, 둘의 크기비는 드래그로 조정하실 수 있습니다.
- 미리보기 창에서 텍스트 크기, 줄 간격, (후술할 탭 기능의) 탭 너비를 지정할 수 있습니다.

3. 문자열 찾기 (Ctrl+F) 바꾸기 (Ctrl+H)
- 찾을 문자열과 바꿀 문자열을 코드 텍스트 기준 및 미리보기 창 기준으로 찾아서 바꿀 수 있습니다.
단축키를 누르시면 각각의 창으로 커서가 이동합니다.
ex) ÿc0안녕하세요 ÿc1디아블로ÿc0입니다. 라는 텍스트가 있다면,
코드 텍스트 기준으로는 "세요 ÿc1디아"를 감지할 것이고, 미리보기 기준으로는 "세요 디아"를 감지할 겁니다.

- 그밖에 단축키는 Ctrl+Shift+Alt+색상키를 누르시면 선택 색상이 적용됩니다.
예시) Ctrl+Shift+Alt+3 = 파랑색 (ÿc3), Ctrl+Shift+Alt+; = 보라색 (ÿc3;)

- 그리고 Ctrl+Z를 누르면 실행취소가 됩니다. (이건 코드텍스트 기준일 겁니다 아마.)

4. 글꼴 설정
- 편집 글꼴을 지정할 수 있고, 만약 윈도우에 kodia.ttf가 깔려있을 경우에는 자동으로 kodia.ttf를 감지합니다.
(이것은 사실 이후에 언급할 탭 기능에 대한 포석입니다.)

5. 미리보기 정렬기능
- 원래 디아블로 툴팁은 가운데 정렬이 기본이라, 가운데 정렬기능도 있습니다만..
- 사실은 툴팁이 왼쪽정렬이 해서 가독성을 향상시킬 수 있다는 거에 충격 먹고 그럼 탭으로 줄맞춤도 되겠네? 해서 만들어본 도구....였습니다 예.

6. 코드 정리 기능
- 불필요한 공백이나 후술할 탭 기능으로 인한 검은 문자들을 제거합니다.
- 색상정리 기능은 색상코드가 중복돼서 지저분해지면 한번씩 눌러주시면 적용되지 않았거나 중복된 색상코드는 깔끔하게 정리됩니다.

7. 탭 구현 (사실 처음엔 이거 할려고 만든 거 였습니다.)
- 미리보기 편집기에서 탭을 입력할 수 있습니다 (그대로 json에 붙여넣기 하시면 공백으로 치환되지만요)
- 그 상태에서 탭 구현을 누르시면 공백과 까만점(=툴팁에선 안보임)들이 해당 구간만큼을 채워서 줄맞춤을 해줍니다. 블록을 잡으시면 잡은 구간만 치환이 되고, 안잡으시면 전체가 치환이 됩니다.

* 탭구현은 미리보기 해당 폰트의 공백과 마침표(.)가 차지하는 공간을 계산해서 입력되도록 했습니다.
즉, 폰트를 kodia로 놓고 구현할 때와 맑은 고딕으로 놓고 구현할 때는 입력되는 공백과 마침표 갯수가 다릅니다.

8. 복사할 양식 선택기능 (on/off)
- 복사 시 색상기호 포함 : 미리보기 창에서 바로 복사 시에 색상코드도 함께 복사합니다.
- 복사 시 줄바꿈 적용 : 미리보기의 줄바꿈을 적용해서 복사합니다. 풀면 n 기호로 복사됩니다.
- 글리프를 u코드로 복사 : 유니코드 글리프(ex : u034)의 코드를 그대로 복사합니다. 풀면 글리프로 복사됩니다.
- 유니코드 기호 복사 안함 : 체크하면 복사시 유니코드 글리프를 아예 생략합니다 (u 코드 복사기능은 자동 off)

9. 색상편집기능
- 색상을 편집하고 실시간으로 미리보기 창에서 볼 수 있습니다.
- 그냥 누르시면 반응이 없고, 반드시 편집하고 싶으신 텍스트를 드래그로 블록을 잡으시고 색상을 클릭하세요.

10. 유니코드 문자 입력기
- 코드 주소 4자리를 입력하시고 입력 버튼을 누르시면 커서 자리에 uXXXX 형태로 들어갑니다.
- 기본값으로 들어가있는 u2060은 없는 문자열입니다. 이런걸 넣어서 툴팁 폰트를 인위적으로 깨뜨리면 해당 툴팁은 폰트가 기본 폰트로 되돌아가면서 오히려 가독성이 좋아지는?걸 노려서 쓰고 있습니다.

↓ 예를 들면 


그래서 저는 쿠레이어님 우측 도움말을 이런 식으로 개인 메모지처럼 해놓고 쓰고 있습니다;;
물론 쿠레이어님(&늘비군님) 도움말도 .. 설류혼님께서 캐릭터창에다 패캐정보를 띄울수있게 해주시는 바람에
이제 도움말에 패캐정보가 딱히 필요가 없어서, 저는 각 캐릭별 맨땅 초반 공략 정도를 입력해서 쓰고 있습니다.

사실 이런 것들을 모드자료실 뿐만 아니라 팁게나 인터넷,
그리고 제미나이한테 물어본 결과까지도 끌어와서 계속 짜집기 하고 있는데..
출처를 남겨놓은 것도 많지만, 제가 깜빡하고 안 남겨놓은 것도 있을 수 있기 때문에
뭐 배포니 공유니 해드리긴 좀 힘들 것 같습니다만,
(그리고 사실 공략적인 부분을 잘못 건드리면 오히려 모드를 건드리는 것보다
"제발 뭐 모르면서 이런 거 좀 배포하지 말라"는 태클이 들어올 수 있는 고인물 게임이다보니..ㅋㅋㅋㅋ)

그러나 이제 편집기로 다들 입맛에 맞게 원활하게 수정해서 쓰시면 되지 않을까 싶고..

--------------------------

그리고 또 하나는,
원활하게 수정을 하시려면 아무래도 모딩생태가 D2RMM 쪽으로 옮겨가는 것이.. 망할 D2RMM무새

굳이 json을 하나하나씩 다 열어보지 않더라도 mod.js를 열어보면



이런 식으로 간편하게 편집도 가능하고 자체 config 메뉴도 설정가능하기 때문에..
뭐 D2RMM 무새짓은 하자면 끝도 없으니 여기까지 하겠습니다.




---------------------------

혹시나 코딩잘알분들께서 최적화를 해주시거나 프로그램을 따로 만들어주시면
저는 그걸로 갈아탈 준비가 언제든 되어있으니(?)
맘껏 수정하시고.. 더 좋은 걸 만드시면 꼭 배포해주시고..
수정해서 배포해도 되나요 이런 건 안물어봐주셔도 되고..

그리고 혹시나 "이런 코드는 이렇게 바꾸시면 더 효율적입니다" 라고 조언해주신다해도
제가 코딩 까막눈이라서.... 무슨 말인지 잘 몰라요 ㅠㅠ 까막눈이 이런걸 만드는 세상이 와버린..