Drag'n Wash ModFramework 1.3.0
Drag'n Wash ModFramework 1.3.0
Crash reports with a window that tells you what happened, the fix for the Direct3D 12 crash they found, and sliders for the game's Options screen. Released together with Drag'n Wash Localization v1.3.0. Everything new is additive: mods built on 1.2 need no change.
| Plugin | Version | |
|---|---|---|
| Drag'n Wash ModFramework (core) | 1.3.0 | Crash reports and their window, the Direct3D 12 font atlas fix, GameOptions.AddSlider |
| Preloader patcher | 1.3.0 | No change; follows the core |
| Tool window | 1.1.1 | The Console shows translated text on Direct3D 12 |
| Assets | 1.1.1 | Tells the crash reports which language is in use |
| Dialogue, Text, Flags and saves, Inspector | unchanged | |
Installer (installer/) |
unchanged | Same Install.exe as 1.2.0 |
Crash reports (experimental)
- Each session keeps a short record in
BepInEx/CrashReports: versions, graphics, the mods loaded, scene changes, errors, the language in use. When the game crashes or freezes, it becomes a report folder withreport.txt, and Unity's crash dump or a dump of the freeze. - A window outside the game (
CrashReporter.exe, Windows) opens right after a crash: "Oops, the kobold slipped!", what most likely happened, what you can do, and buttons to open the report folder or copy the report for a bug report. It speaks the language you chose in the game (English, Japanese, Chinese for now). After a normal exit, nothing appears. - Nothing is sent anywhere. Attach
report.txtto a bug report; share dumps only privately, as they hold part of the game's memory. - Settings under Options → Mods → Drag'n Wash ModFramework → Diagnostics. Mods can add their own notes with
CrashReports.Note. docs/CRASH_REPORTS.md
The Direct3D 12 crash (Unity UUM-140564)
The crash reports caught it: opening the Tool window made Unity's text engine send the same font atlas to the graphics card 32 times in one frame, and Unity crashed while tidying up after that burst. On Direct3D 12 the framework now sends each changed font atlas once per frame, for the IMGUI text and the game's TextMeshPro text alike. With it, the Console shows translated text instead of ?.
Switching windows in Exclusive fullscreen on Direct3D 12 can still freeze the game; that is the game's and Unity's, and the framework leaves your choice alone. If it happens, the crash report window suggests Fullscreen or -force-d3d11.
Sliders in the game's Options screen
GameOptions.AddSlider (#39) adds a slider row built by the game itself, following its Options flow (preview, Save, Back, Set Default). Thanks to Extrudeous-101 for the request.
GameOptions.AddSlider("com.example.mymod.speed", "Speed", 0.1f, 0.1f, 10f,
getSaved: () => _speed.Value, save: value => _speed.Value = value);Who should update
Everyone on Direct3D 12 (the Windows default), and mod makers who want sliders or crash reports. If you use Drag'n Wash Localization, install its v1.3.0, which includes this.
日本語
クラッシュのときに何が起きたかを知らせるクラッシュレポートと、それで突き止めた Direct3D 12 のクラッシュの修正、ゲームのオプション画面のスライダーです。Drag'n Wash Localization v1.3.0 と一緒にリリースしました。新しいものはすべて追加なので、1.2 向けに作った Mod は変更なしで動きます。
| プラグイン | バージョン | |
|---|---|---|
| Drag'n Wash ModFramework(中核) | 1.3.0 | クラッシュレポートとそのウィンドウ、Direct3D 12 のフォントのアトラスの修正、GameOptions.AddSlider |
| プリローダーのパッチャー | 1.3.0 | 変更なし。中核に合わせる |
| Tool window | 1.1.1 | Direct3D 12 でも Console に訳が表示される |
| Assets | 1.1.1 | 使っている言語をクラッシュレポートに伝える |
| Dialogue、Text、Flags and saves、Inspector | 変更なし | |
インストーラー(installer/) |
変更なし | 1.2.0 と同じ Install.exe |
クラッシュレポート(実験的)
- セッションごとに、短い記録を
BepInEx/CrashReportsに残します(バージョン、グラフィックス、読み込んだ Mod、シーンの切り替え、エラー、使っている言語)。ゲームが落ちたり固まったりすると、それがreport.txtと、Unity のクラッシュダンプかフリーズ時のダンプの入ったレポートになります。 - ゲームの外のウィンドウ(
CrashReporter.exe、Windows)が、クラッシュのすぐあとに開きます。「おっと、コボルトが足をすべらせた!」と、何が起きたと考えられるか、できること、レポートのフォルダーを開くボタンと、不具合の報告用にレポートをコピーするボタン。ゲームで選んだ言語で表示します(今は英語・日本語・中国語)。普通に終了したときは何も出ません。 - どこにも送信しません。不具合の報告には
report.txtを添えてください。ダンプにはゲームのメモリの一部が入るので、個別にだけ渡してください。 - 設定は オプション → Mods → Drag'n Wash ModFramework → Diagnostics にあります。Mod は
CrashReports.Noteで自分の記録を足せます。docs/CRASH_REPORTS.ja.md
Direct3D 12 のクラッシュ(Unity UUM-140564)
クラッシュレポートが原因を捉えました。Tool window を開くと、Unity の文字の仕組みが同じフォントのアトラスを 1 フレームに 32 回グラフィックスカードへ送り、その後片付けの途中で Unity が落ちていました。Direct3D 12 では、変わったフォントのアトラスを 1 フレームに 1 回だけ送るようにしました(IMGUI の文字も、ゲームの TextMeshPro の文字も)。あわせて、Console で訳が ? ではなく表示されるようになりました。
Direct3D 12 の排他的フルスクリーンでウィンドウを切り替えると、固まることがまだあります。これはゲームと Unity の問題で、フレームワークは選んだ設定を変えません。起きたときは、クラッシュレポートのウィンドウがフルスクリーンか -force-d3d11 を案内します。
ゲームのオプション画面にスライダー
GameOptions.AddSlider(#39)で、ゲーム自身が作るスライダーの行を足せます。オプション画面の流れ(試しに反映、保存、戻る、既定に戻す)にそのまま従います。要望をくれた Extrudeous-101 さんに感謝します。
アップデートが必要な人
Direct3D 12(Windows の標準)で遊んでいる人全員と、スライダーやクラッシュレポートを使いたい Mod の作者です。Drag'n Wash Localization を使っている場合は、これを含む v1.3.0 を入れてください。