{"id":50581470,"url":"https://github.com/soulsmods/Paramdex","last_synced_at":"2026-06-21T22:00:30.214Z","repository":{"id":41949238,"uuid":"240369672","full_name":"soulsmods/Paramdex","owner":"soulsmods","description":"Param-related resources for FromSoftware games","archived":false,"fork":false,"pushed_at":"2025-07-12T03:09:26.000Z","size":8247,"stargazers_count":32,"open_issues_count":0,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-07-12T05:27:09.506Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soulsmods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-13T21:43:34.000Z","updated_at":"2025-07-12T03:09:40.000Z","dependencies_parsed_at":"2025-05-27T00:37:22.392Z","dependency_job_id":null,"html_url":"https://github.com/soulsmods/Paramdex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/soulsmods/Paramdex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulsmods%2FParamdex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulsmods%2FParamdex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulsmods%2FParamdex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulsmods%2FParamdex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soulsmods","download_url":"https://codeload.github.com/soulsmods/Paramdex/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulsmods%2FParamdex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34627169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-05T03:00:26.486Z","updated_at":"2026-06-21T22:00:30.208Z","avatar_url":"https://github.com/soulsmods.png","language":null,"funding_links":[],"categories":["Modding and data mining"],"sub_categories":[],"readme":"# Paramdex\nA collection of resources for working with params via [SoulsFormats](https://github.com/JKAnderson/SoulsFormats) and SoulsFormats-derived tools.  \nThree folders are included for each game:  \n* **Defs** - paramdefs required to edit param data, given in XML format. Filenames are arbitrary; apply based on the included metadata after loading.\n* **Names** - predefined row names, primarily for newer games with names stripped. Names should not be assumed to be present for every param.\n* **Tdfs** - paramtdfs provide friendly names for enumerated types. Only officially shipped with Demon's Souls.\nAdditionally, for ACVI some param files are mangled and do not include the param type string; ParamTypes.txt includes the correct param types for those that need it.  \n\nParamdefs for DeS, DS1, and BB were shipped with the games and should not be altered beyond translating display names and descriptions.  \nParamdefs for SDT, ER, and ACVI are mostly official but have been extended slightly due to updates. The above applies to any original fields.  \nParamdefs for other games were reverse-engineered, so improvements are welcome.  \n\nGame | Directory\n-----|----------\nDark Souls | DS1\nDark Souls: Remastered | DS1R\nDark Souls II: Scholar of the First Sin | DS2S\nDark Souls III | DS3\nDemon's Souls | DES\nBloodborne | BB\nSekiro | SDT\nElden Ring | ER\nArmored Core VI | AC6\n\n## Writing Paramdefs\nAll paramdefs should contain the following elements:  \n\nElement | Description\n--------|------------\nParamType | Correlates the paramdef to its params\nDataVersion | Indicates a revision of the param data structure\nBigEndian | Whether the binary format is big-endian\nUnicode | Whether description strings are encoded in UTF-16\nFormatVersion | Determines the binary format of the paramdef\nFields | Contains the Field elements that describe param data\n\nEach Field element has a mandatory Def attribute that specifies the type, internal name, bit size or array length if needed, and (optionally) default value. Bit size and array length are written as in a C declaration.  \n```xml\n\u003c!-- Minimum required info --\u003e\n\u003cField Def=\"u16 iconId\" /\u003e\n\u003c!-- Specifying a default value --\u003e\n\u003cField Def=\"u16 iconId = 1000\" /\u003e\n\u003c!-- Defining a bitfield --\u003e\n\u003cField Def=\"u8 enableGuard:1\" /\u003e\n\u003c!-- Defining an array --\u003e\n\u003cField Def=\"dummy8 padding[2]\" /\u003e\n```\nAdditionally, the following elements may be added to customize editor functionality:  \n\nElement | Description\n--------|------------\nDisplayName | A more human-readable name for the field\nEnum | Indicates an enumerated type; corresponds to a paramtdf\nDescription | A description of the field's purpose\nDisplayFormat | A printf format string for displaying the value\nEditFlags | Controls editor behavior; known flags are Wrap and Lock\nMinimum | The minimum acceptable value\nMaximum | The maximum acceptable value\nIncrement | How much to increase or decrease the value per step\nSortID | An arbitrary number that determines display ordering of fields\nUnkB8 | An optional new string of unknown purpose; appears to be an identifier.\nUnkC0 | An optional new string of unknown purpose; appears to be a param type.\nUnkC8 | An optional new string of unknown purpose; appears to be a display string.\n\nAny elements not provided will be given sensible default values based on the field's type. Default, Minimum, Maximum, and Increment are always specified as floats, so they are not meaningful for array types.  \n```xml\n\u003c!-- A fully-loaded declaration --\u003e\n\u003cField Def=\"u32 foobarType:7 = 15\"\u003e\n  \u003cDisplayName\u003eFoobar Type\u003c/DisplayName\u003e\n  \u003cEnum\u003eFOOBAR_TYPE\u003c/Enum\u003e\n  \u003cDescription\u003eDetermines the foobarosity of the whizbang.\u003c/Description\u003e\n  \u003cDisplayFormat\u003e%8x\u003c/DisplayFormat\u003e\n  \u003cEditFlags\u003eWrap\u003c/EditFlags\u003e\n  \u003cMinimum\u003e10\u003c/Minimum\u003e\n  \u003cMaximum\u003e100\u003c/Maximum\u003e\n  \u003cIncrement\u003e5\u003c/Increment\u003e\n  \u003cSortID\u003e1500\u003c/SortID\u003e\n\u003c/Field\u003e\n```\nAll available types are listed below.  \n\nType | Supports Bit Size | Supports Array Length | Description\n-----|-------------------|-----------------------|------------\ns8 | Yes | No | One-byte signed int\nu8 | Yes | No | One-byte unsigned int\ns16 | Yes | No | Two-byte signed int\nu16 | Yes | No | Two-byte unsigned int\ns32 | Yes | No | Four-byte signed int\nu32 | Yes | No | Four-byte unsigned int\nb32 | No | No | Four-byte int representing a bool\nf32 | No | No | Single-precision floating point\nangle32 | No | No | Single-precision floating point representing an angle\nf64 | No | No | Double-precision floating point\nfixstr | No | Mandatory | Fixed-width Shift-JIS string\nfixstrW | No | Mandatory | Fixed-width UTF-16 string\ndummy8 | Yes | Yes | Byte or array of bytes, typically used for padding\u003cbr\u003eEither bit size or array length must be specified (but not both)\n\n## Contributors\nEvanDeadlySins  \nGiveMeThePowa  \n[katalash](https://github.com/katalash)  \n[Pavuk](https://github.com/JohrnaJohrna)  \n[thefifthmatt](https://github.com/thefifthmatt)  \n[TKGP](https://github.com/JKAnderson)  \n[Vawser](https://github.com/vawser)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulsmods%2FParamdex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulsmods%2FParamdex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulsmods%2FParamdex/lists"}