FFXIV plugin framework and API
Find a file
karashiiro 66a04cb45d Fix edge case in GameVersion and refactor
- Test coverage has been added for the entire class, and verbose/redundant code has been refactored
- Fixes JSON serialization: JsonConstructor requires that the ctor parameters match fields/properties of the target class.
Previously, this meant that the JSON constructor would always throw an ArgumentNullException, as `Input` was not a class property.
2024-03-13 21:40:25 -07:00
.github
.nuke
api
build
Dalamud Merge remote-tracking branch 'origin/master' into net8-rollup 2024-03-14 04:35:37 +00:00
Dalamud.Boot Sanitize PDB root name from loaded modules (#1687) 2024-02-29 15:13:33 -08:00
Dalamud.Common Fix edge case in GameVersion and refactor 2024-03-13 21:40:25 -07:00
Dalamud.CorePlugin Merge remote-tracking branch 'origin/master' into net8-rollup 2024-02-29 23:15:23 +00:00
Dalamud.Injector Merge remote-tracking branch 'origin/master' into net8-rollup 2024-02-29 23:15:23 +00:00
Dalamud.Injector.Boot
Dalamud.Test Fix edge case in GameVersion and refactor 2024-03-13 21:40:25 -07:00
DalamudCrashHandler Synchronize DalamudStartInfo between cpp and cs (#1679) 2024-02-22 20:27:07 -08:00
docs
lib Upgrade ClientStructs to .NET 8 2024-03-11 09:15:45 -07:00
targets
.editorconfig
.gitattributes
.gitignore
.gitmodules
build.cmd
build.ps1
build.sh
CreateHashList.ps1
Dalamud.sln Some DCH correctness 2024-02-17 21:38:43 +09:00
Dalamud.sln.DotSettings
docfx.json
filterConfig.yml
global.json
index.md
LICENSE
README.md
sign.ps1
stylecop.json

Dalamud Actions Status Discord Shield

Dalamud

Dalamud is a plugin development framework for FINAL FANTASY XIV that provides access to game data and native interoperability with the game itself to add functionality and quality-of-life.

It is meant to be used in conjunction with FFXIVQuickLauncher, which manages and launches Dalamud for you. It is generally not recommended for users to try to run Dalamud manually as there are multiple dependencies and assumed folder paths.

Hold Up!

If you are just trying to use Dalamud, you don't need to do anything on this page - please download XIVLauncher from its official page and follow the setup instructions.

Plugin development

Dalamud features a growing API for in-game plugin development with game data and chat access and overlays. Please see our Developer FAQ and the API documentation for more details.

If you need any support regarding the API or usage of Dalamud, please join our discord server.


Thanks to Mino, whose work has made this possible!

Components & Pipeline

These components are used in order to load Dalamud into a target process. Dalamud can be loaded via DLL injection, or by rewriting a process' entrypoint.

Name Purpose
Dalamud.Injector.Boot (C++) Loads the .NET Core runtime into a process via hostfxr and kicks off Dalamud.Injector
Dalamud.Injector (C#) Performs DLL injection on the target process
Dalamud.Boot (C++) Loads the .NET Core runtime into the active process and kicks off Dalamud, or rewrites a target process' entrypoint to do so
Dalamud (C#) Core API, game bindings, plugin framework
Dalamud.CorePlugin (C#) Testbed plugin that can access Dalamud internals, to prototype new Dalamud features

Branches

We are currently working from the following branches.

Name API Level Purpose .NET Version Track
master 8 Current release branch .NET 7.0.0 (November 2022) Release & Staging
v9 9 Next major version, slated for release alongside Patch 6.5 .NET 7.0.0 (November 2022) v9

Final Fantasy XIV © 2010-2021 SQUARE ENIX CO., LTD. All Rights Reserved. We are not affiliated with SQUARE ENIX CO., LTD. in any way.