2004/03/09

TWのはなし

beatbox

なんだかクラブマスターになりまして(いや、オレがやるっていったんだけど)、クラブ名は結局beatboxになりました。

で、とりあえずクラブ結成したのはいいんですが、3月入って2週間も集中講義があるせいで全然クラブ上位層に追いつきません。今日現在メンバーが17人いて、レベルが上から11番目のクラブマスター。逆にいえばレベル高いクラブメンバーが私がこの先使う武器を狩ってきて貸してくれているのである意味資金的に非常に楽な暮らしをしてたりします。

借り物装備最高
武器とか借りてるおかげで防具に精一杯金使ってます

ROのチケットも切れちゃいまして、しばらくTW三昧の予感。

InphaseNXD.exe コマンドライン解説

*ここからの内容には未成年にはふさわしくない内容が含まれてるおそれが…あるかどうかは知りませんが、自己責任で運用してください*

たしか私が韓国OpenBetaで現役プレイヤーとして遊んでいた(あれ、テストしてた、だっけか?)頃はTWの実行ファイル本体(ROでいうRagexe.exe)自体が直接起動可能だったんですが、久々に日本版で試してみたらどうもできないようで、ROでいうところの"-1rag1"的な事(お察し下さい)をやる必要があるような雰囲気だったので、パッチクライアント(TalesWeaver.exe)をいろいろ調査してみました。以下、InphaseNXD.exeのコマンドラインパラメータです。

/USE_SERVER %d

%dは0か1をとりうる。

基本的にゲームサーバ群に接続して遊ぶ普通のプレイスタイルにおいては1を指定する。0を指定した場合はサーバに接続せずクライアントでマップをロードしてクライアント単体のテスト/デバッグを行うものと思われる。0を指定した場合は/MAP %d/STARTPOINT_X %d/STARTPOINT_Y %dを指定するようだが、ここでは詳細は未調査のため割愛する(STARTPOINTはマップ内座標で指定した値*4の場所に出現、MAPに指定する整数は./MAP以下のファイルに対応しているようです)。

これが指定されていないと、すぐに終了してしまう。逆にいえば、これを指定することで直接起動可能。

/TEXTURELEVEL %d

%dにテクスチャレベルを指定する。パッチクライアントではConfig.DATの中のTextureLevelを読んで指定しているようだ。たぶんデフォルトは0(意味は知らない)。

/PREALODTEXTURE %d

%dにテクスチャをプリロードするかどうかを指定する(たぶん)。パッチクライアントではConfig.DATの中のPreloadTextureを読んで指定しているようだ。たぶんデフォルトは0(意味は知らない)。

どうでもいいけど、PREALODって、スペルミスじゃん(TalesWeaver.exe中ではPREALODになってます)。

/800600 %d

%dに0か1の値をとりうる模様。

1を指定するとゲーム解像度を800x600で起動し、0を指定すると1024x768で起動する。パッチクライアントの設定にある解像度指定のラジオボタンがこれに対応したオプションである。

/800600オプション自体を指定しない場合はInphase.iniを読みに行くので、Inphase.iniでSCREEN_WIDTHSCREEN_HEIGHTを指定することで任意の解像度での起動が可能(詳細は後で記載)。しかし、Inphase.iniで800x600未満のゲーム解像度を指定するとOSを巻き込んで暴走するので注意。

/BGMOFF %d, /SEOFF %d

それぞれ%dに0か1を指定。

パッチクライアントではConfig.DATを読んで指定しているようだ。デフォルト値はどちらも0(音を消さない)。

/REFRESHRATE %d

%dにはリフレッシュレートを指定。パッチクライアントではConfig.DATを読んで指定しているようだ。デフォルト値は不明だが、おそらく60Hzと思われる。

/ADDR %u, /PORT %d

ゲーム起動時に接続するマルチサーバリストを提供するサーバを指定する。これはLoginServerInfo.DATに保存されており、日本語版オープンクライアントでは16進数で3D D7 D8 49 40 9Cが格納されており、これはすなわち61.215.216.73:40000を表しているので、IPをunsigned longにすると0x49D8D73Dなので、これを10進数にすると/ADDR 1238947645 /PORT 40000を指定しておけば現在稼働中の日本オープンサーバーに接続できる。

ゲームをするためには、/USE_SERVERの他にこの2つも指定しないと、ゲームができない。

/SPEAKERTYPE %d

%dにはパッチクライアントで指定できるスピーカーが順に0から3で対応していると思われます。これもConfig.DATに保存されている値をパッチクライアントで指定しているようです。

/WINDOW, /FULLSCREEN

これは値じゃなくてオプション自体を指定します。どちらも指定しないときはウィンドウモードになり、パッチクライアントではConfig.DATを読んでフルスクリーンかどうかを指定しているようです。

といった感じになっているようです(acidlemon調べ)。

なお、/800600を指定しない場合はInphase.iniで任意のサイズを指定できるため、InphaseNXD.exe直接起動によって本来はできない解像度を得ることが可能になります。

TalesWeaverのクライアントでは、どんな解像度だろうと縦の表示セル数を固定してゲーム解像度によって視野の大きさが変わらないようになっているRagnarokOnlineクライアントとは違い(といっても、レジストリをいじって横に引き延ばしたり、クライアントバイナリorクライアントメモリをいじってズーム制限を解除したりはできるようですね)、ゲーム解像度を引き延ばすことでそのまま視野が広がる仕組みになっています。

うちのディスプレイはXGAなんで1024x768までしか実用にならない(理由は後述)んですが、とりあえず無理して1280x960で起動してどのぐらい視野が広くなるのかというサンプルをとってみました。→サンプル

このように、800x600から見れば1280x960の画面は面積にして2.56倍ありますから、それだけゲームが有利になるという点で、/800600オプションを導入してSVGAかXGAかの決め打ちにしているといったところでしょうか。

なお、ゲーム解像度を画面解像度以上に設定しても、マウスが画面解像度の範囲でしか動かないのでゲームになりません。たとえば、うちの環境では画面が1024x768なので、1280x960でゲームを起動しても、ゲーム内の(0, 0)から(1023, 767)の範囲でしかマウスが動きません(ウィンドウフレームとかもあるのでそれよりもうちょっと実際には狭い範囲でしか動かない)。

うされもん @acidlemonについて

|'-')/ acidlemonです。鎌倉市在住で、鎌倉で働く普通のITエンジニアです。

30年弱住んだ北海道を離れ、鎌倉でまったりぽわぽわしています。

外部サイト情報

  • twitter
  • github
  • facebook
  • instagram
  • work on kayac