ScenarioMod の理解すべきもの・しなくて良いもの

概要

ScenarioModは多くのたくさんのソースファイルが付いていますが、
理解すべき対象は非常に絞られています。
しかも幸いなことに、理解対象はすべて「日本語による関数や変数」なのです。

ScenarioModの理解・編集の区分け

普段からプログラムに書き慣れていない人は、
ScenarioModのソースを見ると、圧倒されてしまうと思います。

ScenarioModではこれらを可能な限り緩和するべく、理解対象の処は、可能な限り「日本語」を多く使ってプログラムを記載しています。

また、ソースを以下のような趣旨にハッキリと区分しています。

  • 参照しない。変更しない。

    見る必要も編集する必要もないもの。
    (※これらはバージョンがアップされたら更新されるため、編集は非推奨)

  • 参照する。変更しない。

    ソースを記述する際には、その都度参照する必要はあるが編集する必要はないもの。
    (※これらはバージョンがアップされたら更新されるため、編集は非推奨)

  • 自分で変更する。自分でバックアップを取っておく。

    自分で編集すべきもの。

に分かれています。

早速、ソリューションエキスプローラで確認してみましょう。

まず、ソリューションエキスプローラーのツリー状の「+」「-」部分をあちこちクリックして、
以下のような「表示状態」にしてみましょう。

PICTURE

上図の

  • 赤い部分

    赤い部分が『見る必要はあるが編集する必要はないもの』です。

  • 青い部分

    「青い部分」だけが『③自分で編集すべきもの』となります。

そうです。

実は「自分で編集すべきもの」はたったの2つしかないのです。

しかもこの2つは「2つで1組の」セットですから、
言い換えれば、編集対象は「青い枠内」の1セットだけと言えます。

編集対象「カスタム駆動関数.cpp」

各々を理解するまえに、軽く「『自分で編集すべきもの』を見てみることにしましょう。

  • On_噴出メッセージ直前

    カスタム駆動関数.cpp」の中身を見ると、以下のようになっています。
    他にもいろいろと記載されていますが、まずは以下のような記述の部分を焦点としましょう。

    string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) {
    
        if (武将名 == "真田幸隆") {
            return "マジかよ…最悪だぉ!!";
        }
    
        // 変更しない場合""
        return "";
    }
    

    細かなところの意味は不明でしょうが、どうやら

    「噴出しメッセージの直前」に「武将が『真田幸隆』」ならば、「マジかよ…最悪だぉ!!」にしているということ。
    詳細は不明としても、とにかく
    『真田幸隆』ならば「マジかよ…最悪だぉ!!」なんだということがわかります。

  • On_プレイヤ担当ターン《メイン画面》

    少し他のところに自分で入力してみるとしましょう。
    今回は「On_プレイヤ担当ターン《メイン画面》」の関数に5行ほど足しこんで以下のように記述してみましょう。

    この段階ではハッキリと意味を理解する必要はありません。

    void カスタム::On_プレイヤ担当ターン《メイン画面》() {
      フェイドアウト();
      カメラ移動(3);
      フェイドイン();
    
      効果音再生(効果音音源::豊作);
      確認ダイアログ表示("これはプロトタイプだよ!!");
    }
    

    「プレイヤのターンがメイン画面でまわってきた時」、「フェイドアウト~カメラ移動(3とは何だ?)~フェイドイン」⇒「効果音の『豊作』が鳴って」⇒「『これはプロトタイプだよ!!』というダイアログが出る」
    日本語なので、なんとなくわかります。

    「カメラ移動」の「3」というのは何でしょうか。
    「カメラ移動」にマウスを当ててみましょう。

    PICTURE

    すると、バルーンヘルプ表示が出るはずです。
    どうやら、「3」というのは城番号か何かのようです。「3番=どこの城」なのか? は今の段階ではさておき、「3番の城にカメラ移動」するのでしょう。

動作確認

さて、(ScenarioMod.dllをちゃんと天翔記フォルダーにコピーしたかを確認した後)、実際に天翔記を起動して、 実際にそうなのか確認してみましょう。
確かにプレイヤーのターンで、フェイドアウト・インを挟んで「どこぞ」にカメラが移動した後、勝ち鬨と共に、ダイアログが表示されました。

PICTURE

又、真田幸隆を見てみたところ、「会見」のメッセージや「商人」とのやりとりなどで「マジかよ…最悪だぉ!!」ばかり言っています。
どうやら確かに機能しているようです。

PICTURE

PICTURE

その他

以上となります。
それでは次節より、「知るべきこと」について常に「練習」を挟みながら、細かく見てゆきましょう。