特殊イントロ対応とかでよく使われるAuthorNameとかNameとかP2Nameとかのトリガーですが、状況しだいではこのトリガーが成立しない状況があるのをご存知でしょうか。
特に新M.U.G.E.Nに移行するとなると、成立しない状況のほうが多くなるのではと思っております。
まぁ実際ウチがそこにはまったのですが。
どうやらUTF-8がよさそうではある。下の図のように、.defファイルの文字コードをUTF-8にし、名前表示用フォントを日本語文字を持ったフォントにすればこの通り、DisplayNameが日本語になったりします。
勝利メッセージを表示するときの設定である[Quotes]セクションも日本語にしたければ、それを記述したファイルをUTF-8しないといけないので、これからはUTF-8が主流じゃないですかね。
図1. 新M.U.G.E.Nではフォントを設定すればDisplayNameをローカライズできる
とりあえず文字コードはASCII互換ならなんでもよいというか、そうなっている気配がする。ASCII互換の文字コードというのはShift_JIS (cp932)とかEUC-JPとかJIS (ISO-2022-JP)とかUTF-8とかである。
とりあえずアルファベットとかのコードが同じならM.U.G.E.N自体は問題なく動作するのでそれでいいのですが、AuthorNameとかが絡むとそうも言ってられなくなったりするわけで。
具体的には?
例えば⑨氏のキャラのAuthorNameは "⑨" で定義されてます。ファイルはShift_JISなのでShift_JISの”⑨"です。この場合AuthorNameトリガーを成立させるためには、最低限AuthorName = "⑨" の記述をするファイルの文字コードがShift_JISでなければなりません。それ以外だとこのトリガーは不成立です。
なんで?
何でこうなるかといえば単にMUGENの文字列一致判定がバイト単位で行われているから。関数的にはstrcmpかと思われます。
これは新M.U.G.E.Nでも変わらないので、うっかりマルチバイト文字と一致判定しているトリガーがあったりするとおいそれと文字コードを変更できなくなります。
ま、つまりは強制的にファイル分割が必須状態になったりとか。
WinMugenからそのまま新M.U.G.E.Nに移行した場合とかはなんら問題は発生しないと思います。問題が出るのは
といった場合に、Name系トリガーが成立しない『こと』があること。その場合は自分のファイル文字コードとか相手ファイルの文字コードとかを疑ってくださいな。
問題なさそうと思ったそこのあなた
これ結構な問題になる可能性があるのです。というのもバイト単位判定しかしてないので、用は文字コードはなんでもいいわけです。とすると、特殊イントロ対応したいキャラがいっぱいいた場合とかだと下手すると、
とかありえますよ。