프로젝트 소개

Paramdex는 SoulsFormats 및 이를 기반으로 한 도구를 통해 게임 파라미터(params)를 작업하기 위한 리소스 모음입니다. 게임플레이 자체보다는 FromSoftware 타이틀의 데이터 모딩과 도구 제작을 대상으로 합니다. 구조: 지원되는 각 게임에는 세 개의 폴더가 있습니다. Defs는 파라미터 데이터를 편집하는 데 필요한 paramdef를 XML로 보관하며, 파일 이름은 임의적이므로 로드 후 포함된 메타데이터를 기준으로 적용해야 합니다. Names는 미리 정의된 행 이름을 보관하며, 주로 이름이 제거된 최신 게임에서 유용하고 모든 파라미터에 이름이 보장되지는 않습니다. Tdfs는 열거형 타입에 친숙한 이름을 제공하는 paramtdf를 보관하며, 이는 공식적으로 Demon's Souls에만 포함되었습니다. Armored Core VI의 경우 일부 파라미터 파일이 손상되어 파라미터 타입 문자열이 없으므로, ParamTypes.txt에 필요한 올바른 타입이 나열되어 있습니다. 지원 범위: Dark Souls (DS1), Dark Souls: Remastered (DS1R), Dark Souls II: Scholar of the First Sin (DS2S), Dark Souls III (DS3), Demon's Souls (DES), Bloodborne (BB), Sekiro (SDT), Elden Ring (ER) 및 Armored Core VI (AC6). 정의의 출처는 기여자에게 중요합니다. DeS, DS1 및 BB용 paramdef는 게임과 함께 제공되었으며 표시 이름과 설명을 번역하는 경우에만 수정해야 합니다. SDT, ER 및 AC6용 paramdef는 대부분 공식적이지만 업데이트로 인해 약간 확장되었으며, 원래 필드에도 동일한 제한이 적용됩니다. 나머지 게임의 paramdef는 리버스 엔지니어링되었으므로 개선을 환영합니다. README에는 paramdef 작성 방법도 문서화되어 있습니다. 모든 paramdef에는 ParamType(paramdef를 해당 파라미터에 연결), DataVersion(파라미터 데이터 구조의 개정), BigEndian, Unicode(설명 문자열이 UTF-16인지 여부), FormatVersion(paramdef의 바이너리 형식) 및 Fields가 포함되어야 합니다. 각 Field에는 타입, 내부 이름, 선택적 비트 크기 또는 배열 길이를 제공하는 필수 Def 속성과 선택적 기본값이 있으며, C 선언 스타일로 작성됩니다(예: u16 iconId, u16 iconId = 1000, 비트필드용 u8 enableGuard:1, 배열용 dummy8 padding[2]). 선택적 요소는 편집기 동작을 사용자 지정합니다: DisplayName, Enum(paramtdf에 해당), Description, DisplayFormat(printf 형식 문자열), EditFlags(알려진 플래그 Wrap 및 Lock), Minimum, Maximum, Increment, 표시 순서용 SortID, 그리고 목적 불명의 문자열 UnkB8, UnkC0 및 UnkC8. 생략된 요소는 필드 타입에 따라 합리적인 기본값을 받습니다. Default, Minimum, Maximum 및 Increment는 항상 float이며 배열 타입에는 의미가 없습니다. 완전히 로드된 예제는 Def를 DisplayName, Enum, Description, DisplayFormat, EditFlags, Minimum, Maximum, Increment 및 SortID와 결합합니다. 지원되는 필드 타입은 s8, u8, s16, u16, s32, u32(모두 비트 크기 지원, 배열 길이 불가), b32(4바이트 bool), f32, angle32, f64, fixstr 및 fixstrW(고정 너비 Shift-JIS 및 UTF-16 문자열, 배열 길이 필수), dummy8(바이트 또는 바이트 배열, 일반적으로 패딩, 비트 크기 또는 배열 길이 중 하나만 필요)입니다. 기여자로는 EvanDeadlySins, GiveMeThePowa, katalash, Pavuk, thefifthmatt, TKGP 및 Vawser가 있습니다.