{"id":18419009,"url":"https://github.com/xoreos/xoreos-tools","last_synced_at":"2025-04-05T23:07:59.868Z","repository":{"id":22144610,"uuid":"25475742","full_name":"xoreos/xoreos-tools","owner":"xoreos","description":"Tools to help the development of xoreos","archived":false,"fork":false,"pushed_at":"2025-03-15T13:38:20.000Z","size":22699,"stargazers_count":69,"open_issues_count":18,"forks_count":31,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-29T22:06:26.327Z","etag":null,"topics":["aurora","bioware","c-plus-plus","dragon-age","jade-empire","knights-of-the-old-republic","kotor","kotor2","modding","neverwinter-nights","nwn","nwn2","nwscript","reverse-engineering","roleplaying-game","rpg","the-witcher"],"latest_commit_sha":null,"homepage":"https://xoreos.org/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xoreos.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-10-20T16:36:37.000Z","updated_at":"2025-03-15T13:38:24.000Z","dependencies_parsed_at":"2025-01-15T01:20:19.144Z","dependency_job_id":"16beb4c9-8409-413c-8aaa-ac20e002b30b","html_url":"https://github.com/xoreos/xoreos-tools","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoreos%2Fxoreos-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoreos%2Fxoreos-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoreos%2Fxoreos-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xoreos%2Fxoreos-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xoreos","download_url":"https://codeload.github.com/xoreos/xoreos-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411234,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["aurora","bioware","c-plus-plus","dragon-age","jade-empire","knights-of-the-old-republic","kotor","kotor2","modding","neverwinter-nights","nwn","nwn2","nwscript","reverse-engineering","roleplaying-game","rpg","the-witcher"],"created_at":"2024-11-06T04:15:19.327Z","updated_at":"2025-04-05T23:07:59.851Z","avatar_url":"https://github.com/xoreos.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"xoreos-tools README\n===================\n\nA collection of tools to help with the reverse-engineering of BioWare's\nAurora engine games. xoreos-tools is part of the xoreos project; please\nsee the [xoreos website](https://xoreos.org/) and its [GitHub\nrepositories](https://github.com/xoreos) for details, especially [the\nmain README.md](https://github.com/xoreos/xoreos/blob/master/README.md).\n\nThe tools included here are licensed under the terms of the [GNU General\nPublic License version 3](https://www.gnu.org/licenses/agpl-3.0.html)\nor (at your option) any later version.\n\nCurrently, the following tools are included:\n\n* gff2xml: Convert BioWare GFF to XML\n* tlk2xml: Convert BioWare TLK to XML\n* ssf2xml: Convert BioWare SSF to XML\n* fev2xml: Convert FMOD FEV to XML\n* xml2gff: Convert XML back to BioWare GFF\n* xml2tlk: Convert XML back to BioWare TLK\n* xml2ssf: Convert XML back to BioWare SSF\n* convert2da: Convert BioWare 2DA/GDA to 2DA/CSV\n* fixpremiumgff: Repair BioWare GFF files in NWN premium module HAKs\n* fixnwn2xml: Convert Obsidian NWN2 XML to valid XML\n* unerf: Extract BioWare ERF archives\n* unherf: Extract BioWare HERF archives\n* unrim: Extract BioWare RIM archives\n* unnds: Extract Nintendo DS roms\n* unnsbtx: Extract Nintendo NSBTX textures into TGA images\n* unkeybif: Extract BioWare KEY/BIF archives\n* unobb: Extract Aspyr's OBB virtual filesystem\n* untws: Extract CDProjectRed's TheWitcherSave archives\n* erf: Create BioWare ERF archives\n* rim: Create BioWare RIM archives\n* tws: Create CDProjectRed TheWitcherSave archives\n* keybif: Create BioWare KEY/BIF archives\n* desmall: Decompress \"small\" (Nintendo DS LZSS, types 0x00 and 0x10) files\n* xoreostex2tga: Convert BioWare's texture formats into TGA\n* nbfs2tga: Convert Nintendo's raw NBFS images into TGA\n* ncgr2tga: Convert Nintendo's NCGR images into TGA\n* cbgt2tga: Convert CBGT images into TGA\n* cdpth2tga: Convert CDPTH depth images into TGA\n* ncsdis: Disassemble NWScript bytecode\n* ncsdecomp: Decompile NWScript bytecode\n\n\nCI Status\n---------\n\n- [![Build status (linux autotools gcc)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_gcc.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_gcc.yml/)\n- [![Build status (linux autotools clang)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_clang.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_autotools_clang.yml/)\n- [![Build status (linux cmake gcc)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_gcc.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_gcc.yml/)\n- [![Build status (linux cmake clang)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_clang.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/linux_cmake_clang.yml/)\n- [![Build status (macos autotools clang)](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_autotools_clang.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_autotools_clang.yml/)\n- [![Build status (macos cmake clang)](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_cmake_clang.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/macos_cmake_clang.yml/)\n- [![Build status (windows cmake msvc)](https://github.com/xoreos/xoreos-tools/actions/workflows/windows_cmake_msvc.yml/badge.svg)](https://github.com/xoreos/xoreos-tools/actions/workflows/windows_cmake_msvc.yml/)\n- [![Coverity Status](https://scan.coverity.com/projects/3296/badge.svg)](https://scan.coverity.com/projects/3296)\n\n\nGetting xoreos-tools\n--------------------\n\nYou can get xoreos-tools in multiple ways:\n\nYou can download an archive with a binary of the latest release from our\n[downloads page](https://xoreos.org/downloads/index.html). This includes\nbinaries for Microsoft Windows, Mac OS X and GNU/Linux, as well as packages\nfor various GNU/Linux distributions. All of them are available for both 32-\nand 64-bit x86 architectures.\n\nOr, if you're running Arch Linux, you can install xoreos-tools directly from the\n[AUR](https://aur.archlinux.org/packages/xoreos-tools/).\n\nOr, if you're running Gentoo Linux, you can install xoreos-tools directly from our\n[overlay](https://github.com/xoreos/gentoo-overlay).\n\nLastly, you can compile xoreos-tools yourself; either from a release source package,\nfound on our [downloads page](https://xoreos.org/downloads/index.html), or a\nfresh [repository](https://github.com/xoreos/xoreos-tools) checkout. For details\non how to compile xoreos on various operating system, please read the\n[Compiling xoreos-tools](https://wiki.xoreos.org/index.php?title=Compiling_xoreos-tools)\npage on our wiki.\n\n\nTLK language IDs and encodings\n------------------------------\n\nAurora games use numerical language IDs to identify which language a\nTLK file holds. Unfortunately, those language IDs vary between games,\nand so does the encoding used for strings in those TLK files. There\nis no way to autodetect this information, so it has to be provided\nto tools handling those files, in one way or another.\n\nFor the tools tlk2xml and xml2tlk, you can specify this encoding\neither directly, or by giving the game the TLK is from. Please note\nthat this does not work for Sonic Chronicles: The Dark Brotherhood,\nbecause its TLK files do not provide a language ID.\n\nNeverwinter Nights, Neverwinter Nights 2, Knights of the Old Republic,\nKnights of the Old Republic 2:\n\n| Language ID | Language              | Encoding |\n|------------:|:----------------------|:---------|\n|           0 | English               | CP-1252  |\n|           1 | French                | CP-1252  |\n|           2 | German                | CP-1252  |\n|           3 | Italian               | CP-1252  |\n|           4 | Spanish               | CP-1252  |\n|           5 | Polish                | CP-1250  |\n|         128 | Korean                | CP-949   |\n|         129 | Chinese (Traditional) | CP-950   |\n|         130 | Chinese (Simplified)  | CP-936   |\n|         131 | Japanese              | CP-932   |\n\nJade Empire:\n\n| Language ID | Language              | Encoding |\n|------------:|:----------------------|:---------|\n|           0 | English               | UTF-8    |\n|           1 | French                | UTF-8    |\n|           2 | German                | UTF-8    |\n|           3 | Italian               | UTF-8    |\n|           4 | Spanish               | UTF-8    |\n|           5 | Polish                | UTF-8    |\n|           6 | Czech                 | UTF-8    |\n|           7 | Hungarian             | UTF-8    |\n|         130 | Chinese (Simplified)  | UTF-8    |\n|         132 | Russian               | UTF-8    |\n\nThe Witcher:\n\n| Language ID | Language              | Encoding |\n|------------:|:----------------------|:---------|\n|           0 | \"Debug\"               | UTF-8    |\n|           3 | English               | UTF-8    |\n|           5 | Polish                | UTF-8    |\n|          10 | German                | UTF-8    |\n|          11 | French                | UTF-8    |\n|          12 | Spanish               | UTF-8    |\n|          13 | Italian               | UTF-8    |\n|          14 | Russian               | UTF-8    |\n|          15 | Czech                 | UTF-8    |\n|          16 | Hungarian             | UTF-8    |\n|          20 | Korean                | UTF-8    |\n|          21 | Chinese (Traditional) | UTF-8    |\n|          22 | Chinese (Simplified)  | UTF-8    |\n\nSonic Chronicles: The Dark Brotherhood:\n\n| Language ID | Language              | Encoding |\n|------------:|:----------------------|:---------|\n|           - | English               | CP-1252  |\n|           - | French                | CP-1252  |\n|           - | German                | CP-1252  |\n|           - | Italian               | CP-1252  |\n|           - | Spanish               | CP-1252  |\n|           - | Japanese              | UTF-8    |\n\nDragon Age: Origins, Dragon Age II:\n\n| Language ID | Language              | Encoding |\n|------------:|:----------------------|:---------|\n|           0 | English               | UTF-16LE |\n|           1 | French                | UTF-16LE |\n|           2 | Russian               | UTF-16LE |\n|           3 | Italian               | UTF-16LE |\n|           4 | German                | UTF-16LE |\n|           5 | Polish                | UTF-16LE |\n|           6 | Spanish               | UTF-16LE |\n|           7 | Czech                 | UTF-16LE |\n|           8 | Hungarian             | UTF-16LE |\n|           9 | Korean                | UTF-16LE |\n|          10 | Japanese              | UTF-16LE |\n\n\nLinks\n-----\n\n- [xoreos website](https://xoreos.org/)\n- [xoreos wiki](https://wiki.xoreos.org/)\n- [Main source repository](https://github.com/xoreos/xoreos-tools)\n- [All xoreos repositories](https://github.com/xoreos/)\n\n\nContact\n-------\n\nTo contact us, please either write to [mailing list](https://xoreos.org/mailman/listinfo/xoreos-devel),\nor join our IRC channel #xoreos on [Libera IRC](https://libera.chat/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoreos%2Fxoreos-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxoreos%2Fxoreos-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxoreos%2Fxoreos-tools/lists"}