wot-debugserver を使ったデバッグ
REPL (対話型評価環境) による WoT のデバッグ手法を使ってみました。 実行中に WoT クライアントに対話的に接続して、あれこれできます。 mod の開発とかに有効です。
参考
以下のページを参考にしました。
準備
必要なもの
- WoT
- XVM
- wot-debugserver
- Python 2.7 が動作する環境 (MSYS2)
Python 2.7 が動作すれば使用可能ですが、 入力の自動補完とかが利用できる MSYS2 とか Cygwin 環境で Python を使うのがいいみたいです。 わたしは普段 MSYS2 を使ってます。
インストール
- GitHub から wot-debugserver のファイル一式をダウンロードする
- wot-debugserver の python フォルダに移動する
- python2 -m compileall . でコンパイルする (.pyc ファイルの作成)
- XVM の packages フォルダ (
/res_mods/mods/packages) に replserver というフォルダを作成 - 2 の python フォルダを 4 の replserver フォルダにコピーする (
/res_mods/mods/packages/replserver/python)
実行
- WoT のリプレイを再生する
- 途中で止める (止めなくても可)
- MSYS2 のコンソールを立ち上げる
- wot-debugserver の python フォルダの client.py を実行する
入力
WoT の画面に文字を貼り付けてみます。 wot-debugserver のコンソールに以下のコードを入力します。
import GUI
t = GUI.Text()
t.text = 'Hello World'
t.colour = (255, 255, 0, 240)
GUI.addRoot(t)
結果です。 画面中央に ‘Hello World’ の文字が出力されました。
GUI, GUI.Text の仕様
GUI, GUI.Text は BigWorld で定義されているモジュールです。 仕様についてはたぶん以下のリンクが参考になります。