アドベンチャー言語APLC32関係文書(日本語訳)

■APLC32 V1.25 Users Guide
■APLC32 V1.24 FS98 Information


■APLC32 V1.24 FS98 Information
Copyright 1996-98, Martin H. Smith. All rights reserved.

日本語訳 SAKI(VYA04610@nifty.ne.jp)


はじめに
再変換
インストール
Options.Exeの使用法
FS98での既知の問題点
FS98 文字列

 
はじめに

この文書は当初、APLC32 V1.18以降に同梱され、FS98上でプログラムをどの様に使用するかを
記述したものです。アドベンチャープログラミングという視点からのフライトシミュレータの
バージョン間相違についての情報はメインドキュメントで説明されています。

FS98ではアドベンチャーファイルのフォーマットが変更されています。これは新しい機能の
活用を可能にする為には、APLC32は2つの異なるスタイルを出力しなければならないという
ことです。アドベンチャー言語でも2つのシミュレータの提供する機能違いによって、いくつ
かの相違点があります。

APLC32の拡張は、殆どのユーザーが簡単な修正を行うだけでうまく動かすことが出来るよう
に行われたものと期待しています。しかしながら、上級ユーザー向けに、賢明なプログラミ
ングを行う為の注意点がいくつかあるのも事実です。

FS98はFS95用に作成されたアドベンチャーを読む事ができます。その為、新しいフォーマッ
トにすぐさま対応する必要はありません。とはいうものの、もし、あなたがFS98をインスト
ールされている場合はFS98フォーマットでのアドベンチャーコードの出力がデフォルトにな
ります。

現時点で新しいフォーマットの全ての機能が明らかになっていない、もしくはあなたが、
特にFS95フォーマットでアドベンチャーファイルを作成したいという場合もあります。
これは、FS95とFS98ユーザーの両方で使用されることを意味します。そのやり方について、
以下に記述しています。

新しい機能はそれが明らかになるにつれ、多くのアドベンチャーがその機能を活用するよう
になり、FS98フォーマットだけで作成されるようになると思われます。

アドベンチャーファイルがどのフライトシミュレータのバージョンをサポートしているかは
そのアドベンチャーファイルをDOSコマンドの「TYPE」で表示させてみれば分かります。

もし出力の先頭部分が'FS6 Adventure' であればそれはFS95 formatでありFS95とFS98で使用
できます。'FS6X Adventure' であればiFS98専用になります。 また、 'FSFS Adventure' 
とでた場合、そのアドベンチャーは FS 5.1 + FSFS用ということになりますので、FS95や
FS98で使用する場合は必ずコンバーターで変換する必要があります。



再変換

FS5用に書かれたアドベンチャーをFS95用に変換したものを持っている場合は、オリジナルを
見つけだしてFS98コンバータで変換する価値があります。これはFS5→FS95のアドベンチャー
変換上の問題点が新しいFS98コンバータ(FS5→FS98)では修正されている為です。この問題に
関する情報はメインドキュメントに記述されています。



インストール

あなたが使っているフライトプランソフトのディレクトリーに古いバージョンのAPLC32が使
われていないか是非確認して下さい。V1.18より前のバージョンではFS98フォーマットのアド
ベンチャーを作成することはできませんが、FS95フォーマットはFS98で直接読めるためFS98
で使用することはできます。また、このバージョンについてインストール時に特別の注意点
はありません。

マイクロソフト社のWWWサイトからダウンロードしたFS98コンバータを持っていることを、
また、それが、正しく導入されて確かめて下さい。FS98コンバータにはFS98本体のアドベン
チャーやその他についてのバグ修正が行われています。FS98コンバータ以外にもパッチがあ
ります。これも同じように導入して下さい。



Options.Exeの使用法

options.exeという新しいファイルがあります。この小さなWindowsプログラムで出力フォー
マットやAPLC32を使用してアドベンチャーを作成する全てのソフトのディレクトリーを設定
します。

使用方法については、以下に述べます。


出力ファイルとディレクトリー

デフォルトでこのプログラムはあなたのシステムにどのバージョンのFSが導入されているか
をチェックします。デフォルトの設定ルールは以下の通りです。

     ・もし、FS95とFS98の両方があればFS98フォーマットで出力されます。 
     ・FS95、FS98のいずれかがあれば、そのバージョンのフォーマットで出力されます。 
     ・両方ともなければ、FS95フォーマットで出力されます。

最後の項目は全然馬鹿げたルールではありません。フライトシミュレータが導入されていな
いマシンで開発されているのですから。APLC32はそんな時、どちらのバージョンのFSでも使
えるフォーマットを選択しています。

もし、以下の項目が全てYESの場合は、なにも設定する必要はありません。

     ・APLC32の以前のバージョンを使用していた。 
     ・以前に-fYオプションを使用してFSのアドベンチャーディレクトリーに直接、
        アドベンチャーファイルを書き出していた。 
     ・FS95用のアドベンチャーを作成するつもりが無い。

これは、-fYオプションが依然として有効であり、かつAPLC32がFS98を検出しているからです。
この結果、APLC32は正しいフォーマットをFSのアドベンチャーディレクトリーに書き出すこ
とになります。

この条件があなたの意向に沿わない場合は、以下のシナリオをチェックし、その手順に従っ
て設定を行って下さい。もし、どうすれば良いかわからなければ最初のものを選んで下さい。

シナリオ1−APLC32やFS6を以前に導入したことがない場合。

Option.exeを実行して下さい。そしてFSのディレクトリーにアドベンチャーファイル直接書
き込むを有効にして下さい。
選択BOX内のボタンの内出力フォーマット自動選択が選択されていることを確認して下さい。

シナリオ2−フライトプランナーをFS95とFS98の両方で使用したい時。

Option.exeを実行して下さい。そしてFSのディレクトリーにアドベンチャーファイル直接書
き込むを有効にして下さい。
FSのバージョンを変更したい場合は、そのFSのバージョンにあったフォーマットを選んで
下さい。選択されたフォーマットのバージョンのFSのアドベンチャーディレクトリーにファ
イルが書き出されます。

シナリオ3−アドベンチャー開発者

あなたが、FS98の新しい機能を使ったアドベンチャーを作成しているのでなければ、あなた
のアドベンチャーを使用する多くの人が依然としてFS95を使用していることに留意されるべ
きでしょう。FS95フォーマットであれば、FS95とFS98の両方のユーザーがあなたのアドベン
チャーを使用することできます。
FS95フォーマットを使用する場合はoption.exeを実行し、FS95用を選択して下さい。

シナリオ4−DOSコマンド上のテキストファイルでアドベンチャーを開発している場合。

-95及び-98オプションを使用することで、コンパイラーに特定のフォーマットを出力させる
ことができます。options.exeコマンドを使う事で、アドベンチャーディレクトリーに直接書
き出さない様に することも出来ます。


アドベンチャーファイルをカレントディレクトリーに書き戻す

V1.21の新機能 :いくつかのアドベンチャー自動作成ソフト(ATC Workshopが典型)では
Force Output Directoryオプションが有効とした場合にエラーとなることがあります。
これは、それらのソフトがコンパイル後にコンパイラーのコンパイル正常終了のリターン
コードをチェックせずにアドベンチャーファイルの存在チェックを行っている為です。
これに対応しました。


ATC WorkshopでAPLC32の拡張機能を許容する

V1.21の新機能 : options.exeの新しい選定オプションです。アドベンチャーがカレントディ
レクトリーになく、コンパイルが成功し、そのファイルがカレントディレクトリーにコピー
バックされている様なケースではデフォルトでオンになります。これは特に何の問題を引き
起こすことはありませんがOption.exeでオフにすることができます。

また、ATC Workshopがアドベンチャーのコンパイルに使用されている時にAPLC言語の拡張
機能をオンにする設定があります。通常、この拡張機能は古いAPLCコンパイラーとの互換
性からオフになっています。Option.exeの新しいチェックボックスをオンにすることで、拡
張機能をオンにすることができます。これにより、ATC Workshopで新しい機能を使用するこ
とができます。

勿論、あなたのモジュールと、ATC Workshopで生成されたコードと新しい機能の為に拡張さ
れたAPLC32のキーワードが相互干渉しないか確認することが必要です。


APLC単位系ではなく、SDK単位系を使用する。(フラップ等)

V1.24の新機能 :MicrosoftのSDKに記載されているいくつかのシステム組み込み変数(主として
コントロールインプットに関するもの)はFlight Shopのドキュメントと異なっています。例え
ば、 FLAPS_LEFT_POSITION は 、FSFSでは0 〜 32767の整数で表現されるようになっていますが、
SDKでは0.0 - 1.0の小数点以下の数値で表すことになっています。

このオプションはどちらのスキームを貴方が選択するかを設定します。デフォルトでは古い
Flight Shop APLCコンパイラーとの互換性の観点からFSFSスキームが有効となります。
このオプションを有効にするとSDKに付属の新しいコンパイラーと同様の動作となります。

FS98専用の新しいアドベンチャーを開発しているのでなければ互換性を確保したいのではな
いでしょうか。



FS98での既知の問題点

FS98のアドベンチャーではオートパイロット維持の機能でいくつかの問題点があります。
一つの問題点はパッチ1で解消したようですが、依然として一つの問題が残っています。
これはAPLC32の問題というよりFS98本体の問題だと思われます。

FS98のインストレーションではレジストリー上、古いFS6のディレクトリーのあったその場所
をFS98のディレクトリーとして更新してしまいます。
その為、上の説明の通りにFS95用に設定したにも拘わらず、FS98のディレクトリーにアドベン
チャーファイルが作成された場合、ご勘弁下さい。

FS98付属のアドベンチャーやレッスンの内、1または2つがシステムをロックアップの原因
になります。これがパッチ1で解決されたものの内の一つですが、これに関する記述は書かれ
てなかった様に思われます。



FS98 文字列

SDKには記載されていませんが、文字列操作で現状APLC32では許容しているものにFS98では
制限が加えられています。全てのFSで使用可能なAPLC32文字列操作拡張機能の詳細について
は、メインドキュメントを参照して下さい。SDK文字列機能はFS98のみで有効です。

FS98の文字列機能で明白に行うことが可能なことは以下の様な点です。

     ・それらを定数として定義すること 
     ・PRINT / SCROLL / DEBUG_PRINTステートメントとそれを使用すること。

使用する文字列の宣言 :
DECLARE callsign = "N45LJ"

例えばプリントコマンドの引数として変数の様にプリント出力する。
PRINT callsign," climb and maintain 5000"

上記の様な宣言はAPLC32ではFS98フォーマットで出力される場合は許容されますが、FS5や
FS95フォーマットの場合にはエラーとなります。

文字列と数値を変数として宣言することはエラーになります。新しいAPLCはこれを受け入れ
ても良さそうに思えますが、一つのPRINT文では二つを識別することができないので受入ら
れません。

他の多くの言語では可能ですが、APLC32では数値変数の宣言と初期値導入を同時には行うこ
とはできません。例えば以下の例はエラーになります。

DECLARE seems_illogical = 5

現時点では、この機能を導入することで、どの様なパフォーマンスの改善があるか情報があ
りません。


LAST UPDATE: 1999/01/27