soma0sd

코딩 & 과학 & 교육

반응형

이전 글 "mount & blade warband 모딩: 아이템 플래그"에서, 0x0001000~0xFFFF000는 보조속성입니다. 추정입니다만, 이 속성은 복수로 선택할 수 있습니다. 값이 1, 2, 4, 8이니 2진법으로 보면 각각 다른 자릿수거든요. 라고 했었습니다. 이 부분을 직접 확인하고 해결해 보도록 하겠습니다. 각 자릿수의 플래그를 판단하는 방법 if flag_digit == 1: pass # 1 elif flag_digit == 2: pass # 2 elif flag_digit == 3: pass # 1, 2 ... elif flag_digit == 15: pass # 1, 2, 4, 8 이것은 하나의 16진법 자릿수 flag_digit의 값에 따라 각각의 플래그를 조합해서 사용했을 경우까..

mount & blade 모딩: 아이템 플래그 (2)

필요한 아이템 클래스의 기능 기본적으로 아이템 요소를 mod_items.py문서에서 입력받아 item_kinds1.txt에 출력할 수 있어야 합니다(컴파일). 추가로 기존 item_kinds1.txt에서 입력받아 mod_items.py에 입력하는 디컴파일도 수행했으면 합니다. 개발자가 현재 상태를 확인할 수 있도록 하는 출력도 만들어야 하겠네요. 패키지 패키지 구조 파이썬 환경에서 배포하기 쉽고 추가 연산이나 통계를 위해서 패키지형태로 구현하려고 합니다. 또는 어쩔 수 없이 내장 패키지 외의 패키지가 필요한 경우 종속성도 표시할 수 있어서 좋고요. wmms/ wmms/__init__.py wmms/items.py wmms/data/ wmms/data/hex_items.py 아이템과 관련해서 이정도면 될 ..

mount & blade 모딩: 아이템 클래스의 구조

새로운 모듈 제작 프레임워크를 만들어서 배포하려면 디컴파일 기능을 탐재해야 합니다. 기존 시스템과 다른 방식의 모드 제작 시스템인데 이걸 사용하려면 기존 개발하던 모듈 시스템을 지워버리고 바닥부터 하라고 하면 아무도 안쓸테니까요. 기존 모듈시스템을 바꾸는 방식도 있겠지만, WRECK등 기존 모듈 시스템의 규칙을 바꾸거나 강화하는 경우까지 감안해서 해석하기 어렵습니다. 그래서 생각한 방법은 결국 동일한 문법을 가지는 결과물을 디컴파일 하는 방식으로 작업하려고 합니다. 프로그래밍은 Python 3을 기준으로 합니다. 각 요소의 의미와 아이템 플래그의 위치 item_kinds1.txt를 보면 아이템 정의가 아래와 같은 형식으로 나열되어 있습니다. itm_barbed_arrows Barbed_Arrows Bar..

mount & blade warband 모딩: 아이템 플래그

파일: 모듈 시스템에서 모드로 기본적으로 배포하는 모듈 시스템에서 module_items.py으로 정의한 아이템은 process_items.py를 거쳐 item_kinds1.txt가 됩니다. 정보: 모드에서 모듈 시스템으로 제 취향의 방식으로 추적하는 순서를 그대로 따릅니다. 헤더 네이티브의 item_kinds1.txt는 다음 내용으로 시작합니다. itemsfile version 3 620이것을 기록하는 process_items.py에는 다음 내용이 있습니다. def write_items(variable_list,variable_uses,tag_uses,quick_strings): itemkinds_file_name = export_dir + "item_kinds1.txt" ofile = open(ite..

mount & blade warband 모드 개발: 아이템 코드 따라가기

어제는 모듈 시스템의 구조와 기능, 절차를 알아보고 모듈 시스템 작업 이후에 모드를 완성하기 위해 무엇이 더 필요한지를 살펴봤습니다. 오늘은 모듈 시스템의 비효율을 개선한 유저 컴파일러에 대해 알아봅니다. W.R.E.C.K 테일월드 포럼에 올라온 이 컴파일러는 유명 모드를 개발한 사람들이 추천하는 컴파일러입니다. 테일월드가 배포하는 기본 모듈 시스템은 배치파일(build_module.bat)이 process_파일을 정해진 순서대로 실행하여 결과물을 출력하는 방식입니다. 향상된 컴파일러 키트 W.R.E.C.K(Warband Refined & Enhanced Compiler Kit)는 작업속도의 향상과 더불어 파일 시스템의 개선과 플러그인 시스템의 도입 등 추가기능을 붙였습니다. 설치 포럼에서 키트를 다운로..

mount & blade warband 모드 개발: WRECK, 향상된 컴파일러 키트

모듈 시스템에서 모드로 모듈 시스템으로 만들어진 파일은 게임의 규칙 전반을 다루지만 모드에 필요한 모든 것을 처리하는 것은 아닙니다. 모듈 시스템이 만들 수 없는 파일 모드 정보 파일(module.ini) module.ini는 모듈 정보를 담고 있는 텍스트 파일입니다. 텍스트 에디터를 이용해 간단하게 편집할 수 있습니다. 모듈의 기본 변수와 모드에서 사용하는 리소스를 정의하는 아주 중요한 파일입니다. 워밴드를 구동하면 가장 먼저 처리하는 파일이기도 합니다. 언젠가 집중적으로 뜯어볼 생각입니다. 모드 이미지 파일(main.bmp) main.bmp는 모드의 이미지입니다. 워밴드를 실행하면 바로 나오는 모드 선택화면에 보이는 이미지입니다. 네이티브 기준으로 가로 340 픽셀, 세로 275 픽셀의 비트맵 이미지..

mount & blade warband 모드 개발: 모드 적용하기

모듈 시스템 모듈 시스템은 리소스를 제외한 모든 게임 규칙을 담은 Python 2.X 기반의 파일 모음입니다. 모듈 시스템을 통해 개발한 게임 규칙은 컴파일을 통해 게임이 읽을 수 있는 형태의 파일로 변환됩니다. 모듈 시스템 얻기 파일시스템을 공개하고 있는 모드도 있어서 참고할 수도 있겠습니다만 우선은 가장 기본적인 네이티브(Native)의 모듈 시스템을 얻어서 살펴보도록 하겠습니다. 테일월드에서 제공하는 네이티브 모듈 시스템 다운로드 페이지 글을 작성하는 시점에는 1.171버전의 네이티브 모듈 시스템을 배포하고 있습니다. 압축을 해제하면 두 폴더가 보입니다. Module_data 1.171: 스카이박스(하늘)의 모양과 식물의 종류를 변경할 수 있는 파일 Module_system 1.171: 게임 규칙이..

mount & blade warband 모드 개발: 모듈 시스템의 파일 시스템

테라리아를 하다가 쓰던 노트북이 작살나서 급하게 장만한 새 노트북이 테라리아의 요구 사양을 감당할 수 없는 바람에 (정확히는 칼라미티 모드의 요구 사양) 스팀 라이브러리에서 예전에 했던 마운트 앤 블래이드 워밴드(mount & blade warband, 이하 워밴드)를 다시 설치하게 되었습니다. 모드 2010년 출시한 워밴드는 그 긴 역사만큼 다양한 모드가 존재하고, 테일월드 포럼, 스팀의 창작마당과 MODDB등에서 개발지원과 배포를 하고 있습니다. 국내 커뮤니티는 마운트앤블레이드 공식카페(약칭 마공카)라는 네이버 카페가 있습니다. 모드는 게임에 새로운 콘텐츠를 유저가 개발하여 게임에서 읽을 수 있는 형태의 파일로 만들어놓은 것입니다. 다른 게임들의 모드와 다르게 워밴드의 모드는 기존 게임에 추가하는 형..

마운트 앤 블레이드: 워밴드 모드 공부 시작

End of content

No more pages to load

◀ PREVNEXT ▶