{"id":44316706,"url":"https://github.com/vswarte/fxr-reloader","last_synced_at":"2026-02-11T05:13:09.165Z","repository":{"id":154066989,"uuid":"624345173","full_name":"vswarte/fxr-reloader","owner":"vswarte","description":":boom: From Software visual effect live reloader","archived":false,"fork":false,"pushed_at":"2024-07-13T21:41:10.000Z","size":798,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-07-13T22:39:19.637Z","etag":null,"topics":["eldenring","from-software","fxr3"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vswarte.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}},"created_at":"2023-04-06T09:06:19.000Z","updated_at":"2024-07-13T21:41:43.000Z","dependencies_parsed_at":"2024-01-12T22:33:53.404Z","dependency_job_id":"1228bfea-104d-4528-9f3f-76cf5916a842","html_url":"https://github.com/vswarte/fxr-reloader","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/vswarte/fxr-reloader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vswarte%2Ffxr-reloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vswarte%2Ffxr-reloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vswarte%2Ffxr-reloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vswarte%2Ffxr-reloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vswarte","download_url":"https://codeload.github.com/vswarte/fxr-reloader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vswarte%2Ffxr-reloader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29327141,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T03:52:29.695Z","status":"ssl_error","status_checked_at":"2026-02-11T03:52:23.094Z","response_time":97,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["eldenring","from-software","fxr3"],"created_at":"2026-02-11T05:13:08.557Z","updated_at":"2026-02-11T05:13:09.158Z","avatar_url":"https://github.com/vswarte.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FXR reloader :boom:\n\n## What is this?\nThis piece of hot garbage allows you to swap out FXR files without having to repackage\nthem with yabber/witchy or restart the game at all.\n\n## How do I use this?\n - You launch Elden Ring (v1.10.0) or Sekiro (v1.6.0)\n - You launch this tool.\n - You ensure the game's process is set to the right process (only really needs tweaking if you're running multiple\n    instances of the game).\n - You edit an FXR by some means\n - You click \"Reload FXR\"\n - You select one or multiple edited FXR files\n - The FXR **definitions** are now patched (this means the effects need recreating for this to be visible, reapply buffs, \n    recast spells, reload maps to unload map-specific effects, etc)\n\n## Why would I use this?\nRepacking and restarting the game gets cumbersome if you're fine-tuning colors and durations.\n\n## What in the name of fatcat is an FXR?\nIt's a proprietary format developed and used by From Software to define visual effects\nfor their in-house engine. If you've played a souls game and seen practically anything that in\nthe area of a visual effect you've seen an FXR definition in action.\n\n## Help! I reloaded an FXR and I don't see a difference!\nThis tool changes the definition. This definition then gets instanced and put in the world.\nIn order for a reloaded FXR to show it's difference it has to be recreated. For buffs and spells\nyou can simply recast the spell or reapply the buff. For more global things like the player light\nand map pieces you should be able to force a clean-up and respawn by warping back to the same area.\n\nAnother thing to keep in mind is that this tool only replaces the definition if it is in the CSSfxImp already. That\nmeans that editing map-specific FXRs require you to be on that piece of the map. Otherwise, the FXRs associated with the\nmap are not in memory and therefor cannot be patched.\n\nOne last thing: FXR is a lesser understood format, and we can't always directly correlate what\nwe see on screen to the FXR definition (an FXR definition might specify the same colors 20 times\nand the one you've changed is responsible for coloring 2 pixels on the entire FXR, good luck\nseeing that). To assert if the issue is with this tooling or the cause lies with the FXR itself,\nI suggest you try tweaking and reloading FXR 300 from the common effects. This FXR is responsible\nfor the player light and any changes to it should be visible after a map reload.\n\n## Show me!\n![Tool preview](./preview.png)\n\n## How does it work?\nWhen you supply one or more FXR definitions for patching it injects `fxr_reloader_agent.dll` into your chosen game.\nThe agent DLL contains a bunch of spooky code that reads the games memory to find the current FXR definition and\nthen replaces it with the ones you supplied.\n\n## Hi mom!\nKatalash gave me a PoC that he couldn't turn into a full tool because of time constraints. So he's the real goat\nresponsible for this tool. I merely regurgitate.\n\n### Dependencies:\n - [dll-syringe](https://github.com/OpenByteDev/dll-syringe) per MIT license\n - [iced](https://github.com/iced-rs/iced) per MIT license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvswarte%2Ffxr-reloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvswarte%2Ffxr-reloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvswarte%2Ffxr-reloader/lists"}