
D2DX - 为 REFramework 同步的 D2D
让REFramework Lua模组在龙之信条2中绘制图标、文本、形状和图像。版本3是完全重构版:稳定、支持HDR,并且可直接替代reframework-d2d,因此为d2d或旧版D2DX编写的模组无需修改即可使用。
查看大图[center][img]https://staticdelivery.nexusmods.com/mods/6234/images/1261/1261-1767520780-1858673793.png[/img]
[size=5][b]D2DX - 为 REFramework 同步的 D2D[/b][/size][/center]
D2DX 是一个用于《龙之信条 2》的 REFramework 插件。Lua 模组通过它在屏幕上绘制内容:自定义图标、文本、进度条、形状和图像,例如世界标记、HUD 元素或物品图片。它实现了 cursey 的 [url=https://github.com/cursey/reframework-d2d]reframework-d2d[/url] 的 API,因此也能运行所有为该插件编写的模组。
[b]仅当你使用的模组要求 D2DX 或 reframework-d2d 时,你才需要 D2DX。[/b]
[line]
[size=4][b]3.0 版新增内容[/b][/size]
3.0 版是从头重写的。最重要的变化:
• [b]可直接替代 reframework-d2d。[/b] 早期版本的 D2DX 无法替代原插件。3.0 可以:为 d2d 编写的模组(例如 Item Belt)以及为 D2DX 1.x/2.x 编写的模组(例如 Affinity Bar)无需修改即可运行。
• [b]稳定。[/b] 不再在开场 logo 后或更改分辨率时崩溃。
• [b]直接绘制到游戏帧中。[/b] 不再使用全屏叠加纹理,因此性能开销极低。
• [b]图标会停留在其目标上[/b],当模组在与相机更新相同的帧中绘制它们时。
• [b]HDR 和 SDR[/b] 会根据游戏自身的 HDR 设置自动检测;颜色会针对 HDR10 正确转换。
[size=4][b]功能[/b][/size]
• 支持 PNG、JPG、BMP、GIF、TIFF、ICO、DDS(BC1–BC3)和 SVG 格式的图标,并在后台加载,因此游戏不会卡顿。
• 干净的小图标:具有 mipmap 和正确的透明度,图标绘制得很小时不会闪烁或出现暗边。
• 平滑、抗锯齿的形状:圆形、圆角矩形、环形、扇形和线条。
• 带有可选阴影和描边的文本。
• 图标覆盖和主题:无需编辑模组,即可用自己的图标集替换任何模组的图标。
• 错误隔离:一个损坏的模组永远不会影响其他模组;错误会在菜单中按模组分别显示。
• 内置菜单支持英语或日语(日本語),包含状态、设置、模组、图像和日志。
• 一个热键,用于显示或隐藏 D2DX 绘制的所有内容。
[line]
[size=4][b]要求[/b][/size]
• [url=https://www.nexusmods.com/dragonsdogma2/mods/601]REFramework[/url]
[size=4][b]安装[/b][/size]
1. 下载主文件。
2. 将 zip 解压到你的《龙之信条 2》文件夹(包含 DD2.exe 的文件夹)。
3. 确认此文件存在:[i]Dragons Dogma 2/reframework/plugins/reframework-d2dx.dll[/i]
README、许可证和面向模组作者的文档会安装到 reframework/data/D2DX。
[b]从 D2DX 1.x 或 2.x 更新:[/b] 直接覆盖旧版本解压。旧文件 [i]reframework/autorun/d2d.lua[/i]、[i]d2dx.lua[/i] 和 [i]d2dx_menu.lua[/i] 会被替换为空文件;你可以删除它们。
[b]如果你安装了 cursey 的 reframework-d2d:[/b] 你可以删除 [i]reframework/plugins/reframework-d2d.dll[/i]。如果你保留它,D2DX 会接管并照常绘制所有 d2d 模组;菜单会显示一条备注,提示可以移除原插件。
[size=4][b]菜单[/b][/size]
打开 REFramework 菜单(Insert)→ Script Generated UI → D2DX。在顶部你可以看到 D2DX 是否正常工作以及哪些模组在使用它。下方有:
• [b]Show overlay[/b] 和一个 [b]显示/隐藏热键[/b]。
• [b]Icon sampling[/b] 和 [b]sharpness[/b]:图标在比其文件尺寸更小或更大绘制时的外观。
• [b]HDR brightness[/b]:在 HDR 下使图标和文本的亮度与游戏自身的 HUD 匹配。
• [b]Language[/b]:英语或日语;Automatic 会跟随 Windows 语言。
• [b]Mods[/b]:每个使用 D2DX 的模组、其状态和最后一个错误;开启或关闭某个模组的绘制。
设置会立即生效,并保存在 [i]reframework/data/D2DX/config.json[/i]。
[size=4][b]图标覆盖和主题[/b][/size]
将替换图标放入 [i]reframework/images/_overrides/ModName/[/i],文件名与模组自身的图标相同。同名但不同格式也可以(例如 [i]chest.svg[/i] 替换 [i]chest.png[/i])。主题放入 [i]reframework/images/_themes/ThemeName/ModName/[/i],并在菜单中选择。更改文件后,请在菜单中按 [b]Reload all images[/b]。
[size=4][b]报告问题[/b][/size]
1. 在 D2DX 菜单中,勾选 [b]Debug logging (for bug reports)[/b]。
2. 重现问题几秒钟,然后在 Diagnostics 下按 [b]Write diagnostic snapshot[/b]。
3. 在 Bugs 标签页中发布或附上 [i]reframework/plugins/reframework-d2dx.log[/i],并附上你使用的模组列表。
[line]
[size=4][b]面向模组作者[/b][/size]
完整的 d2d API 与原版一样工作:[i]d2d.register[/i]、字体、图像、文本和所有形状。D2DX 新增了:
• [b]begin_frame / end_frame[/b]:直接从 [i]re.on_frame[/i] 绘制,与相机在同一游戏帧中。这能让世界标记保持在目标上。
• [b]image_ex[/b](着色、旋转、精灵表坐标)、[b]image_batch[/b]、[b]text_ex[/b](阴影、描边、对齐)、图层、世界位置辅助函数等。
一个最小的世界标记:
[code]
local icon = d2dx.Image.new("MyMod/marker.png") -- reframework/images/MyMod/marker.png
re.on_frame(function()
if icon and d2dx.begin_frame() then
local p = draw.world_to_screen(target_position) -- REFramework,当前相机
if p then
d2dx.image(icon, p.x - 16, p.y - 16, 32, 32)
end
d2dx.end_frame()
end
end)[/code]下载内容包含完整的 API 参考([i]api-reference.md[/i])和面向模组作者的指南([i]mod-author-guide.md[/i]),其中包含时序细节以及如何读取 D2DX 日志。
[size=4][b]源代码[/b][/size]
完整源代码位于 Files(源代码 zip)中:插件、着色器、菜单,以及针对原版行为检查每个 d2d 函数的测试。它使用 Visual Studio 2026 和 CMake 构建。
[size=4][b]Linux(Proton)[/b][/size]
D2DX 与游戏一样仅使用 Direct3D 12 绘制,因此应该可以在 Proton 下工作。它尚未在 Linux 上测试过;欢迎反馈。
[line]
[size=4][b]鸣谢[/b][/size]
• [url=https://www.nexusmods.com/profile/cursecat]cursey[/url] - 原版 reframework-d2d [url=https://github.com/cursey/reframework-d2d]Github[/url],D2DX 实现了其 API。
• [url=https://www.nexusmods.com/profile/praydog2]praydog[/url] - [url=https://www.nexusmods.com/dragonsdogma2/mods/601]REFramework[/url]。
• Noto Sans JP(SIL Open Font License 1.1) - 日语菜单的字体。
[size=4][b]许可证[/b][/size]
D2DX 在 MIT 许可证下发布。
包含的日语字体在 SIL Open Font License 1.1 下发布(请参阅其旁边的文本文件)。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。