네버윈터나이츠 DLG파일 읽고 쓰기
By 기록하고픈 잡담 | 2020년 12월 5일 |
대거포드 모드 시험양으로 삼아 모드툴 단계에서 한글 편집에 성공을 했으니 좀 더 날 것으로 접근을 시도하기 위한 준비를 해봅니다. 이를 위해서 바이너리파일인 DLG파일을 구조체 선언을 해서 읽고 써봅니다. 읽단 읽고 쓸 수 있어야 기약 없는 상황에서 그래도 혹시나 기약은 있고 혼자 힘으로 DLG 파일들의 STRREF 값을 바꿔칠 수 있겠죠. #include "iostream"#include "stdio.h"#include "stdlib.h" #pragma pack(push, 1) struct Header {char dlg_signature[4];char dlg_version[4];uint32_t entity_table;uint32_t entity_number;uint32_t element_
UTF-8 문서를 일괄적으로 ANSI 문서로 변경하기
By 기록하고픈 잡담 | 2020년 12월 8일 |
언젠가 네윈나EE와 관련해 빔독 포럼에서 갑갑함을 느꼈던 문제인데 네버윈터나이츠 EE와 이 게임을 둘러싼 모드 개발 환경은 기본적으로 ANSI 기반입니다. 문제는 윈도우 10 기준으로 텍스트 편집의 기본인 메모장같은 경우 기본이 UTF-8입니다. 아무 생각없이 작업하다보면 글자가 깨진다는 이야기죠. 물론 메모장에서 하나하나 save as에서 ANSI로 수정해 줄 도 있습니다. 그러나, 수백은 커녕 파일이 수십만 되도 멘탈에 금이 가기 시작하는 짓거리입니다. 하여튼 시간이 지나면서 원래 존재하던 알려진 커맨드라인을 활용한 요령들 중 상당수가 사양 변경으로 인해 막혔는데 그래도 최신 환경에서는 해볼 수 있다는 소리기도 합니다. 그래서, 현재 사용 가능한 가장 확률이 높은 방법은 powershell을 이용
네버윈터나이츠 EE HAK 파일 만들기
By 기록하고픈 잡담 | 2020년 12월 12일 |
네버윈터나이츠1은 모드 적용 방식이 아무래도 년식이 오래되다보니 근래의 유사한 게임들과 비교하면 스마트하지 못한 부분이 있는데 이걸 역이용할 생각입니다. 대거포드 모드를 열어서 module.ifo파일에서 HakList를 확인해봅니다. 고맙게도 3개의 Hak이 존재하고 저는 여기서 용량이 작은 dodee_hf0_lib에 dlg 파일을 추가해야겠네요. nwnexplorer로 마저 dodee_hf0_lib의 파일을 전부 export한 뒤에 nwnpacker로 hak파일을 만듭니다. 원래 파일들을 넣고 제가 dialog.tlk용으로 개조한 479개의 dlg 파일을 넣으니까 총 1044개의 파일이 되네요. 이제 이걸 dodee_hf0_lib의 이름으로 저장을 합니다. 확장자는 hak이어야 되겠죠. 실은 모드를
네버윈터나이츠 DLG파일 #3
By 기록하고픈 잡담 | 2020년 12월 7일 |
목표로 했던 TLK에디터용 txt 파일 생성과 DLG파일 직접 수정하는 프로그램을 완성해봤습니다. ks_ar0601_intro.new.dlg가 제가 생성해낸 데이타, ks_ar0601_introgff.dlg는 제가 GFF에디터로 만든 데이타이고 ks_ar0601_intro.dlg는 대거포드의 원본 데이타입니다. 실행시킨 결과물을 비교해보면 gff로 직접 수정한거와 조금 차이가 있는데 게임상에서나 GFF에디터상에서 문제없이 읽는게 가능한 상황. 실행프로그램.exe "ks_ar0601_intro.dlg" "1000"으로 실행시켜 나온 ks_ar0601_intro.new.txt는 TLK에디터의 배치작업용 TXT파일로 결과는 아래와 같습니다. 순차적으로 DLG파일을 직접 수정하기 때문에 이제는 그냥 TLK