{"id":48844408,"url":"https://github.com/lu-rebuilt/lu-assets","last_synced_at":"2026-04-15T04:03:06.675Z","repository":{"id":351240060,"uuid":"1210149532","full_name":"LU-Rebuilt/lu-assets","owner":"LU-Rebuilt","description":"C++20 library for parsing LEGO Universe client file formats","archived":false,"fork":false,"pushed_at":"2026-04-14T07:55:05.000Z","size":280,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T08:22:55.474Z","etag":null,"topics":["cpp20","file-parser","game-modding","lego-universe","reverse-engineering"],"latest_commit_sha":null,"homepage":"https://github.com/LU-Rebuilt","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LU-Rebuilt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-14T06:13:28.000Z","updated_at":"2026-04-14T07:55:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LU-Rebuilt/lu-assets","commit_stats":null,"previous_names":["lu-rebuilt/lu-assets"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/LU-Rebuilt/lu-assets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LU-Rebuilt%2Flu-assets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LU-Rebuilt%2Flu-assets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LU-Rebuilt%2Flu-assets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LU-Rebuilt%2Flu-assets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LU-Rebuilt","download_url":"https://codeload.github.com/LU-Rebuilt/lu-assets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LU-Rebuilt%2Flu-assets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31825515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"online","status_checked_at":"2026-04-15T02:00:06.175Z","response_time":63,"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":["cpp20","file-parser","game-modding","lego-universe","reverse-engineering"],"created_at":"2026-04-15T04:02:52.327Z","updated_at":"2026-04-15T04:03:06.666Z","avatar_url":"https://github.com/LU-Rebuilt.png","language":"C++","readme":"# lu-assets\n\nC++20 library for parsing LEGO Universe client file formats. Provides complete, cross-platform parsers for all major asset types used by the original client.\n\nPart of the [LU-Rebuilt](https://github.com/LU-Rebuilt) project.\n\n\u003e **Note:** This project was developed with significant AI assistance (Claude by Anthropic). All code has been reviewed and validated by the project maintainer, but AI-generated code may contain subtle issues. Contributions and reviews are welcome.\n\n## Supported Formats\n\n| Category | Formats |\n|----------|---------|\n| **NetDevil Archive** | PK archives, SD0 compression |\n| **NetDevil Database** | FDB (flat database, converts to SQLite) |\n| **NetDevil Zones** | LUZ, LVL, terrain (.raw), LU triggers, AUD, ZAL, AST, SCM |\n| **NetDevil Common** | LDF (key-value config) |\n| **Gamebryo Engine** | NIF/KF meshes \u0026 animation, KFM animation manager, .settings |\n| **Havok Physics** | HKX binary \u0026 XML packfiles (rigid bodies, shapes, scene data) |\n| **LEGO** | LXFML brick models, .g geometry, brick assembly \u0026 colors |\n| **Microsoft** | DDS textures, TGA images, FXO shaders |\n| **FMOD Audio** | FEV events, FSB sound banks |\n| **ForkParticle** | PSB particle systems |\n| **Scaleform** | GFX UI files |\n\n## Building\n\n### Requirements\n\n- CMake 3.25+\n- C++20 compiler (GCC 12+, Clang 15+, MSVC 2022+)\n- zlib\n- SQLite3\n\n### Build\n\n```bash\ncmake -B build\ncmake --build build -j$(nproc)\n```\n\n### Run Tests\n\n```bash\nctest --test-dir build\n```\n\n## Usage as a Dependency\n\n### Via FetchContent (recommended)\n\n```cmake\ninclude(FetchContent)\nFetchContent_Declare(lu_assets\n    GIT_REPOSITORY https://github.com/LU-Rebuilt/lu-assets.git\n    GIT_TAG v0.1.0\n)\nFetchContent_MakeAvailable(lu_assets)\n\ntarget_link_libraries(your_target PRIVATE lu_assets::lu_assets)\n```\n\nFor local development, override the fetch with a local checkout:\n\n```bash\ncmake -B build -DFETCHCONTENT_SOURCE_DIR_LU_ASSETS=/path/to/local/lu-assets\n```\n\n### Via find_package (after install)\n\n```bash\ncmake --install build --prefix /usr/local\n```\n\n```cmake\nfind_package(lu_assets REQUIRED)\ntarget_link_libraries(your_target PRIVATE lu_assets::lu_assets)\n```\n\n## Include Paths\n\nHeaders follow the module structure:\n\n```cpp\n#include \"netdevil/archive/pk/pk_reader.h\"    // or pk_types.h for data structures only\n#include \"netdevil/database/fdb/fdb_reader.h\"\n#include \"gamebryo/nif/nif_reader.h\"\n#include \"havok/reader/hkx_reader.h\"          // or havok/types/hkx_types.h\n#include \"lego/lxfml/lxfml_reader.h\"\n#include \"microsoft/dds/dds_reader.h\"\n#include \"fmod/fev/fev_reader.h\"\n```\n\n## Acknowledgments\n\nThis library is built from these authoritative sources:\n\n- **Ghidra reverse engineering** of the original LEGO Universe client binary\n- **[lcdr/lu_formats](https://github.com/lcdr/lu_formats)** — Kaitai Struct format definitions\n- **[lcdr/utils](https://github.com/lcdr/utils)** — Python reference implementations\n- **[DarkflameServer](https://github.com/DarkflameServer/DarkflameServer)** — Server emulator, compatibility target\n- **[LUDevNet/Docs](https://github.com/LUDevNet/Docs)** — Community protocol documentation\n- **[nif.xml](https://github.com/niftools/nifxml)** / **[NifSkope](https://github.com/niftools/nifskope)** — Gamebryo NIF format definitions\n- **[HKXDocs](https://github.com/SimonNitzsche/HKXDocs)** — HKX binary format documentation\n- **[lu-toolbox](https://github.com/Squareville/lu-toolbox)** — Blender LXFML reference\n- **[NexusDashboard](https://github.com/DarkflameUniverse/NexusDashboard)** — LXFML rendering reference\n- **[Assembly](https://github.com/LUDevNet/Assembly)** — Rust LU format library\n- **[FFDec](https://github.com/jindrapetrik/jpexs-decompiler)** — Flash/SWF decompiler, reference for GFX/SWF format parsing\n\nThis project exists because of the LEGO Universe community. For over 15 years, developers, reverse engineers, and fans have kept this game alive through server emulators, format documentation, and preservation efforts. This library builds on that collective work.\n\n## License\n\n[GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.html) (AGPLv3)\n\nLEGO Universe is a trademark of the LEGO Group. This project is not affiliated with or endorsed by the LEGO Group, NetDevil, or Gazillion Entertainment.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu-rebuilt%2Flu-assets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flu-rebuilt%2Flu-assets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flu-rebuilt%2Flu-assets/lists"}