【UO Enhanced Client】Agents Settingで日本語が文字化け・設定初期化される不具合を修正
Ultima OnlineのEnhanced ClientでAgents Settingに日本語名のアイテムを登録した際、アイテム名が文字化けする問題があります。
さらに厄介なのが、その状態のままログアウトすると、環境によってはAgent設定だけでなく、マクロや各種UI設定まで初期化されてしまうことがある点です。
GTLabUIでは、この日本語環境特有の問題に対する修正を追加しました。
【ここにスクリーンショット①:Agents Settingで日本語アイテム名が正常表示されている画面】- Agents Settingで日本語名のアイテムを登録すると文字化けする
- 登録した日本語アイテム名が正常に保存されない
- その状態でログアウトすると設定データが破損する場合がある
- 次回ログイン時にマクロやUI設定まで初期化される場合がある
原因
Enhanced ClientのAgent設定では、登録したアイテムに関する情報として、アイテムIDや色、数量などとあわせてアイテム名も保存されています。
このうち、アイテム名の保存処理が日本語文字列に対応していない形式になっていたことが原因と考えられます。
英数字のみのアイテム名では問題が起きにくい一方、日本語名を登録すると正常に文字列を保存できず、文字化けしまいます。
さらに、その不正な状態が設定保存時に影響し、ログアウト後の設定読み込みに失敗することで、複数の設定が初期状態へ戻ってしまうケースがありました。
GTLabUIでの修正内容
GTLabUIでは、Agentに登録した日本語アイテム名を、通常の文字列としてそのまま保存するのではなく、日本語を扱える文字列形式で別管理するよう修正しました。
Agentの実際の動作判定には、主にアイテムのTypeやHueなどの情報が使用されるため、これらの処理は従来のまま維持しています。
つまり、Agentそのものの動作方法は変えず、表示名と保存処理だけを日本語対応にしています。
日本語へ対応
GTLabUIではAgents Settingで日本語名のアイテムを登録しても、アイテム名がそのまま日本語で表示されます。
全アイテムをテストしてる訳ではないので万が一文字化けしている場合は、そのアイテム登録は削除することをお勧めします。
そのままログアウトしてしまうと設定やマクロが全て初期化される可能性があります。
日本語環境では特に注意
今回の問題は、日本語クライアントでAgents Settingを利用している場合に遭遇しやすい問題です。
OrganizerやRestockなどは日常的に使用する機能のため、日本語名のアイテムを登録しただけでマクロや設定まで初期化される可能性があるのは、かなり影響の大きい不具合です。
GTLabUIでは今後も、Enhanced Client標準UIの使いにくい部分だけでなく、日本語環境で発生する不具合についても可能な範囲で修正・改善していきます。

コメント
コメントを投稿