| いろいろとご意見をいただきありがとうございます。 まとめたところ、以下のような実装にするのが良いかなと思っています。 中箱さんの意見を取り込む感じでContinueコマンドにも触れています。 デフォルトのIMを決めておく実装を導入しながら、指定したIMから再開というのを残しているのは、 インターミッションファイルが配布されるようになり、複数のインターミッションファイルをシナリオ中で切り替えるような使い方をする場合があるのではないかと考えたからです。 (たとえば、主人公選択でSRWαの主人公ならα風インターミッション、SRWWの主人公ならW風インターミッションみたく) 自分で実装するのであれば、一つのインターミッションファイルの中で分岐制御を入れますが、 インクルード使う専門で自分で手を加えて使わないような人は困るのではないかなと。 「そこはシナリオ作者が頑張ればいい」といえるボーダーラインがちょっと判断しずらいため残っています。
RSTさんご指摘の固定オプションについては、既存のシナリオへの影響を考えた結果です。 現在、自作インターミッションをLib\インターミッション.eveに置いていて、再開は通常のインターミッションからがいい人がいるかもしれません。
文言詳細 指定したIM…Execコマンドの引数にしたファイルで定義しているインターミッション 自作IM…シナリオフォルダ\Lib\インターミッション.eveで定義しているインターミッション 通常IM…SRCの元の仕様のインターミッション
Execコマンドで通常ステージが指定されている場合 →これまでどおりそのステージへ
Execコマンドで「固定」オプションが指定されている場合 →指定したIMへ。再開は指定したIMから
Execコマンドでオプションが何も指定されていない場合 シナリオフォルダ\Lib\インターミッション.eveがある場合 →指定したIMへ。再開は自作IMから 無い場合 →指定したIMへ。再開は通常IMから
Continueコマンドが実行された場合 シナリオフォルダ\Lib\インターミッション.eveがある場合 →自作IMへ。再開は自作IMから 無い場合 →通常IMへ。再開は通常IMから
今回の実装では、文言詳細であげた3つのIMがあり、 コマンド実行後に呼び出されるIMと、再開時に呼び出されるIMの組み合わせパターンを網羅するような実装です。
これについては実装を少し待って、引き続きもう少し意見を伺いたいと思います。 論点は、 Continueコマンドにまで手を入れるか 指定したIMから再開する機能は必要か 固定オプション使ってまで多分無いであろうLib\インターミッション.eveをIMにして再開を通常IMにしている既存シナリオを守るのか あたりだと思っています。
数日様子を見て特に反対意見など無いようでしたら一旦実装してソース掲示しようと思いますので、またよろしくお願いいたします。
|