WSN追加案: 識別用クーポン「@Wsn.2」
Issue #438
resolved
「Wsn.2に対応しているエンジン」という意味合いの識別用クーポン@Wsn.2
を追加し、称号判定分岐で使用できるようにする事を考えます。
WSN形式がバージョンアップするたびに、@Wsn.3
、@Wsn.4
…と増えていく事を想定しています。
実行中のエンジンが対応するWSN形式のバージョンの判別は、現状ではほとんど必要ありませんが、無いよりはあった方がよさそうに思います。
- CW 1.20から1.28へのバージョンアップ時には、普及度を見越して「1.20と1.28の両対応」という処理を行ったシナリオがいくつもありました。将来、WSNシナリオでも似た状況が発生しないとは限りません。
- CWPyは対応していないWSNバージョンのシナリオの実行時に警告を出しますが、無視してプレイする事はできますし、他のWSN実装エンジン(まだ存在しないと思いますが)では、警告を出さない仕様を選ぶかもしれません。
- 1.2.を踏まえると、シナリオの側から「このエンジンはWsn.いくつまで対応しているのか?」を知る仕組が必要になります。現状では(1)
@CardWirthPy Version.N.n
を使うか、(2)古いバージョンには無い機能を効果的に使う事で判断する(1.20と1.28を識別した時のように)しかありません。 - (1)はCWPyのバージョン識別用で、固有バグの回避などの用途がありますから、他のエンジンで使える事は望ましくありません。(2)の方法は仕様のアップデートの内容次第では使えないおそれがあります。
- 従って、「エンジンが対応するWSN形式のバージョンを調べるための称号」を別に用意するべきである、という事になります。
上記の想定には、まだ発生していない状況がいくつも含まれますから、現状ではほぼ不要ですが、追加しておいて損になる事はないと思います。
称号名はシンプルに@Wsn.N
でよいかと思います。
Wsn.0とWsn.1への対応を判断する方法は後付で用意する事はできません。これは1.20と1.28の時のような方法を編み出すしかないでしょう(もっともWsn.0のシナリオは将来もほぼ作られないでしょう)。
Comments (2)
-
reporter -
reporter - changed status to resolved
- Log in to comment
pull request #1682で追加しました。