XLinkKaiのKaiUIに変わるものです。
動作が確認できたものは次の通り
OS: Windows XP/Vista
XLinkKaiEngine: 英語版 7.4.18(beta) / 7.3.1.7, 日本語版 7.4.18(※1)
※1 日本語版では起動時に色々とパラメータが再設定されるため、起動時のショートカットを作成しないとうまく使えないと思います。
基本的にKaiUIと同等のものです。
使い方はKaiUIが使えているのであれば見かけ上の表示の違いはありますが主要な機能は同様のボタンで実装しています。
明らかに使い方が異なるものはチャットログが現状ではただのメモをつけているのでURLなどのリンク機能がありません。アリーナ移動時のKai Orbital Meshのメッセージは別窓に出力されるようになっています。
ログの保存方法が異なっていて随時テキストとして保存されます(現状では強制的に保存されるようになっています)。
KaiUIにあってSirKaiUIに現状未実装のものは次の通りです。(今後実装する予定ではいます)
- SPEEDXによるボイスチャット関連の機能のコントロール
- アリーナのアイコンの表示おこなわれません。
- コンタクトリスト上でのアイコンの表示が行われません。
- お気に入りのアリーナが設定できません。
インストール(使用)方法には2通りあります。
正式なUIとして使用する場合
@XLinkKaiのインストールされているフォルダ(通常であれば C:\Program Files\XLink Kai)に SirKaiUI.exe と Bookmarks.txt を入れてください。
AConfigure KaiでStandard GUIを選択し、UI ProgramにKaiUI.exeからSirKaiUI.exeに変更して保存します。
試しに使用する場合
@Configure Kaiで「Close Engine when UI Closes」のチェックボックスを解除します。(この手順が必須ではなくなりました)
A通常通りKaiを起動しKaiUIが表示されてからSirKaiUI.exeを実行します。・通常通りKaiを起動しKaiUIが表示されてからSirKaiUI.exeを実行します。
※どちらの場合もLangage Settings(言語設定)のLanguage(システム言語)には「English(英語)」が設定されていることを前提としています。Languageの設定が異なると、特定のエラーのハンドリングが行えないところが出てきます。(動作しないと言うことはないと思いますが…)
通常のKaiプログラムに日本語版独自のUIウィンドウと起動時に毎回Kaiの設定を強制的に設定している項目がいくつか存在します。
試しに使用する場合の方法などで使用することもできますし、多少設定して正式なUIとしても利用することが可能です。
また、Kaiの窓が表示されたままの状態でないと、KaiEngineが終了されるため、試しに使用する場合は日本語版の窓は閉じないほうが良いでしょう。
日本語版上での動作確認はテストで行ってみましたが、言語設定以外はなんかそのままSirKaiUI.exeを実行すればそのまま動いちゃいました。(言語設定が英語になっていないので文字化けしてますけど…)
インストールしたフォルダのSirKaiUI.exe と Bookmarks.txt を削除します。
正式なUIとして設定された場合は、Configure Kaiで変更前のUser Interfaceに戻します。
試しでお使いの場合は、CloseEnginewhen UI Closesのチェックボックスを元に戻してください。ユーザーフォルダの中のApplication Dataフォルダ内(通常のXPの場合は C:\Documents and Settings\ユーザー名\Application Data)のSirKaiUIフォルダを削除します。
現状では、各ユーザーのアイコンとログ以外ファイル保存していません。
アリーナの移動をするとログが消えてしまう…また、ログの保存がとっても不便…さらにはPM(プライベートチャット)が使いづらい(またはWebUIへは日本語が文字化けする)などなど…
あとは日本語でチャットが入力しずらすぎる…
そんなわけで、当初MHP2が発売されたときに作り始めたものの、UIツールを作って満足していたわけですが、本腰をいれてUIの作成になりました。(ソース自体は新規作成ですが(笑))
リリースに当たっていくつか残件があります。
・ユーザーのアイコン(アバター?)の取得に本体スレッドを使っているのでサーバー取得時にちょっと固まりそう。
・ユーザーのアイコン(アバター?)がコンタクトリストに反映していません。コンタクトリストの仕様上数の制限があるので、表示上の問題以外は実装しちゃってもよさそうだったのですが、取り扱っていません。
・アリーナのアイコン(アバター?)の取得を一切行っていないのと、表示上どうするか未定のためにまったく取り扱っていません。(アリーナのアイコン取得はサーバー上のURLの形式は解っているのですが、ほんとにそれでいいのかちょっと疑問なのでやめています)また、URLリソースの取得を安易に実装しているので、何かあった場合の回避ができていない気がします(^^;
チャットログなど、Windowsコントロールの限界に達するとどうなるかわかりません。
PMウィンドウなどはプログラム終了まで開放しないですし…ログもボタンが押されるまで消えませんし…基本的にXPであれば問題が表面化するには相当なやり取りが行われなければ問題はないとおもいます。
まぁほかにもいくつかありますが…使えそうなので公開に踏み切りました。
このプログラムは無償で提供されるもので、各自の自己責任でのご利用をお願いいたいます。
2009 再びテスト的にUIプログラムを作成 基礎的な部分の実装が完了し、実行ファイル名称をProject1からSirUIへ変更 基本機能の実装が完了 2009/05/31 リリースビルドにて公開 不要コンポーネントの削除(実行ファイルが200kbyte程度少なくなりました) アイコンイメージの追加修正等 2009/06/02 append 各アクションの有効状態をAttach前後とLogin前後の判断を追加し反映するようにした modify XLinkのクルクルアイコンとアリーナステータスの状態のアイコンをボタン形式に変更し、小さくなった。 append XLinkのクルクルアイコンボタンを押すことによって
・非Attach時:Attach処理を実行しする。
・Attach時で非Login時:Login画面を表示する。
これによって、基本的にKaiEngineが起動中にSirUIから接続する手順がこのボタンだけで完結するようになった。append アリーナステータス表示を非Attach時は淡色表示とするように処理追加
ボタンを押すことにより、アリーナステータス設定画面を表示するようになった。
※現状2つのボタンが同一の内容となっていますが、今後どちらか削除するかも…たた既存のKaiUIからの移行を考えると両方残しておきたいと今は考えています。2009/06/03 debug fix PM送信時にXTagをなぜかファイル名変換していたのでセミコロンエスケープ処理へ修正 append PM送信でArenaPMとして送信できるようにチェックボックスを追加 append 上段表示を切り替えるときにChatLogをアクティブな行を表示させるように処理を追加
(今まで非表示状態から表示状態に切り替えたときに表示領域が狭くなるために画面内に収まらない部分がずれてしまい、実用上ちょっと違和感があった)modify SirUIで検索すると、どこかのメーカー名と被っているのをリリース後に気づいてしまったのでSirKaiUIへ名称を変更 modify 名称変更に伴いApplication Data内のフォルダ名がSirUIからSirKaiUIへ変更となりました。 modify メインフォームの位置と大きさをWindowsのデフォルトとした。
この変更に伴いControlのAnchorsが対応できないものが出てきたので、挙動がおかしい部分にPanelを配置し対応。modify メニューバーのチェック状態がうまく動作していないのでTMainMenuからActionMainMenuBarに変更。 append 部屋への入室をチャットログに表示するようにボタンを追加。(退出も表示しようと思っていたが、助長になりすぎるようなので未対応) 2009/06/07 append ステータスバーへHint表示を行うようにした。 2009/06/13 append 同一ユーザーで複数起動した場合に元からあったWindowにメッセージを送信する処理を追加。(マシン制限をおこなうかどうしようか迷っていますが、利便性重視でユーザーのみとした。ただ、KaiのUIとしては複数のUIが立ち上がっていても問題はない設計なのですが…普通は複数起動しないので追加)
この機能があって初めてまともにUIを置き換えても大丈夫な感じなのですけどね(^^;modify ユーザー一覧にCAP表示を行うように変更しました。
当初表示していたのですが、助長な気がしたので非表示にしたのですが、どうもこれがわかると相手がKaiUIかどうかは判別できそうなので表示させました。これに伴いアリーナツリーとユーザー一覧の幅が少し広げられました。modify チャットの音をMessageBeepからPlaySoundへ切り替え、音をSystemNotificationへ変更しました。 append ユーザーの出入りで音を鳴らすようにしました。DeviceConnectとDeviceDisconnectを使用しました。
またプライベートメッセージを受取るとSystemQuestionを鳴らすようにしました。append ユーザーの出入りで音を鳴らすようにするとちょっとうるさすぎるのでボタンを追加しました。
アリーナや部屋移動時には必ずOFFになります。(一度に大量に鳴らすと処理が重くなる様子…PlaySoundのパラメータかもしれませんが…)2009/07/06 modify ContactPing受信時にContactListWindowを表示切替を行わなくした。(ただしOnlineメッセージが届いていないときにContactPingが来た場合はOnile表示に切り替えてContactListを表示する。) 2009/07/07 modify APMチェックボックス廃止。
PM送信時、コンタクトリストに登録されていて相手がオンラインの状態の時にPMとして送信。そうでないときにはさらに同じアリーナに相手が存在たばあいはAPMとして送信。それ以外は送信せずにエラー表示を行うようにした。2009/07/23 modify General ChatでPMを送信できるようにPM送信判断をもう少し変更。
同じアリーナに相手が存在しVECTORに接続されていればAPMとして送信。そうでないときにはさらにPM送信時、コンタクトリストに登録されていて相手がオンラインの状態の時にPMとして送信。それ以外は送信せずにエラー表示を行うようにした。2009/10/08 Ver. 0.0.1.49 リリース modify ブックマークをテキストファイルから読み込むように変更。 append Diagnosticsウィンドウにグラフを追加。 2011/01/23 Ver. 0.0.1.54 リリース