はじめに |
---|
ONScripterとは、NScripter 用に作られたスクリプトを独自に解釈して実行するプログラムです。 NScripterは高橋直樹氏が開発したゲーム実行エンジンであり、高橋氏のホームページからダウンロードできます。 ONScripter で何ができるのかについてはαβεさんの[ONScripter のスゝメ]を参照してください。 現在はベータ版onscripter-beta-20020529a.tar.gzを配布しております。 更新内容については[開発日誌]を参照して下さい。 動作報告・バグ報告・機能追加要望・パッチは随時受け付けますので[バグトラッキングシステム]までお願いします。 |
目次 |
実行方法 |
---|
動作環境下記のライブラリと処理系が必要です。バージョンは最新である必要はないかもしれませんが、他のバージョンでは確認していません。
当方では Windows と Linux と Zaurus(SL-5500) で動作確認をしています。 コンパイル適当な場所に ONScripter を展開し、Linux の場合は make -f Makefile.Linux, Windows の場合は、nmake -f Makefile.Win とやって下さい。Windows の場合は、bzip2, SDL と SMPEG のヘッダファイルとライブラリのある場所を Makefile.Win で指定しているので、自身の環境に合わせて適宜修正してください。 実行[必須]まずゲームのアーカイブを一カ所にまとめます。通常は、スクリプト(0.txt もしくは nscript.dat)とアーカイブ(arc.sar もしくは arc.nsa)の2つのファイルがあれば十分なはずです。arc1.nsa 〜 arc9.nsa がある場合は、それも置いてください。またゲームによっては、アーカイブの外に一部の画像ファイルを置いていたりします。その場合は、それらのファイルも元と同じように置いてください。一番確実なのは、ディレクトリ毎全てのファイルをコピーしてくることです。 [必須]下記の"TrueType font による漢字表示について"を参考に、日本語 TrueType font を用意し、"default.ttf" という名前で置いてください。 [任意] CD audio の振り替え演奏をしたい場合は、下記の"CD audio 演奏の振り替えについて"に従って MP3 ファイルを用意してください。 [必須]最後に、ONScripter を実行してください。同じディレクトリにある nscript.dat とアーカイブを自動的に探し、ゲームが開始されます。なお ONScripter は、同じディレクトリにセーブデータやファイルログ等の状態ファイルを保存するため、このディレクトリには write permission を出しておいてください。 |
TODO |
---|
現在把握しており直す予定のバグ・未実装機能。先頭の文字は優先度。
|
リンク |
---|
お世話になっているページ、よく利用させていただいているページへのリンクです。
|
雑多なこと | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
キーボードショートカットについてONScripter は全ての操作をキーボードで行うことができます。下にショートカット一覧を書きます。
ただし、s 以外のキーは入力待ちの時しか受け付けません(文字を描画している最中は受け付けません)。次の選択肢まで飛ばしている最中に限り、任意のタイミングで s キーにより通常の状態に戻すことができます。 また、コンソール画面で Ctl-c することで ONScripter を終了できます。その場合、グローバル変数等は保存されるので、終了する場合はゲームのメニューから終了するか、これで強制終了するかしてください。 | ||||||||||||||||||||||
起動オプションについて以下に示すオプションを指定できます。ただし、オプション無しがデフォルト動作です。
| ||||||||||||||||||||||
レジストリ読み込みについてgetreg コマンドは Windows の registry から指定されたデータを取得し ます。ONScripter では、テキストファイル registry.txt にデータを記述し、 これを読み込むことでこの機能を実現します。 registry.txt の書式は次の通りです。大文字・小文字は区別されます。ま た余計なスペース等を入れないようにして下さい。漢字が使われている場合、 文字コードが Shift JIS になることに注意してください。
ONScripter 起動時に --registry オプションを指定することで、 registry.txt を一カ所にまとめておくことができます。--registry を指定し ない場合は、現在のディレクトリの registry.txt を読みにいきます。 | ||||||||||||||||||||||
音量及び変数編集モードについてこれは暫定的なおまけ機能であり、今後変更されたり無くなったりする可能性があります。 ONScripter 起動時に --edit オプションを指定することで有効になります。 任意のキー入力待ち状態時に z キーを押すことで、編集モードに入ります。この時、title bar に [EDIT MODE] MP3 vol (m) SE vol (s) Voice vol (v) Numeric variable (n)と表示されるはずです。この状態で、m, s, v, n のいずれかのキーを押すこ とで、それぞれの値を変更するサブモードに入ります。また、Esc キーを押す ことによってモードを抜けることができます。 数字変数の場合は、値変更の前にどの変数を変更するのかを選択します。 値変更サブモードでは、0 から 9 までの数字と -, BackSpace, Esc, リター ンキーが使えます。- キーは、対象が数字変数でかつ数字が0の時のみ有効に なります。既に数字が入力されている場合には、一旦 BackSpace で数字を全 部消してから - キーを押してください。 | ||||||||||||||||||||||
TrueType font による漢字表示について 漢字を表示するためには、TrueType font を用意する必要があります。例えば Windows 2000 では \WinNT\Fonts の下に msgothic.ttc があり、またフリーの TreuType font として、kochi-gothic.ttf や wadalab-gothic.ttf があります。
まとめると、UNICODE で記述されておりかつ embedded bitmap を使っていないフォント(上の例では HG ゴシック)が一番問題がなく、大きなフォントしか使わないゲームでは embedded bitmap が使用されていても使える(上の例では MSゴシックや東風ゴシック)といったところです。 ONScripter を起動する前に、使用する TreuType font ファイルを、default.ttf という名前にしてゲームのスクリプトがある場所のコピーしておいてください。 | ||||||||||||||||||||||
MIDI 演奏機能についてMIDI は SDL_mixer の機能を使って演奏します。
| ||||||||||||||||||||||
CD audio 演奏の振り替えについてゲームのスクリプトがある場所に cd というディレクトリを作り、そこに すると、スクリプトで CD audio の1曲目を演奏するコマンドがあった場合に、対応する track01.mp3 を演奏するようになります。 MP3 を必ず用意する必要はなく、その場合は音が鳴らないだけです。 | ||||||||||||||||||||||
Windows 上で MP3 の音がぶつぶつとぎれる問題についてWindows でコンパイル済の SMPEG のバイナリを持ってくると、MP3 によっては音がぶつぶつとぎれて演奏されます。これは、SMPEG を MSVC でコンパイルする時の最適化の問題で、下記の通りに MSVC の global optimization を一部抑制する指定をし、自分でコンパイルすることで解決できます。 修正するファイル: audio/mpeglayer3.cpp 関数 layer3reorderandantialias の前後に、下のように #pragma 指定を追加する。 #pragma optimize( "g", off ) void MPEGaudio::layer3reorderandantialias(int ch,int gr, REAL in[SBLIMIT][SSLIMIT], REAL out[SBLIMIT][SSLIMIT]){ ...... } #pragma optimize( "g", on ) |