Microsoftフライト・シミュレータ2000の新しいシーナリ命令

    By Peter Jacobson

    注: フライト・シミュレータ2000は10月初め以来から入手可能であり ましたが、Peter Jacobsonは、何がそれの中にあるかを見るために、 FS2000シーナリエンジンをのぞき見する時間をたった今割くことができるよう になりました。 この短い記事は、これまでに彼が新しいFS2000-スタイルの建物と道 路について何を見つけたかを私達に示します。

    ピーターが、彼が他のFS2000シーナリ命令についての 情報を追加することを提案しているので、近いうちにチェックしに戻ってきてくだ さい。

    また、フライト・シミュレータ2000が非常に新しいので、 より一掃の情報が集められて共有されることにより、多くのこのような情報が追加 されることを我々は期待していることを心に留めておいてください。

    Peter Jacobsonは、Full Throttle の親会社の Abacus により 出版されている href="http://www.abacuspub.com/catalog/s371.htm">Airport & Scenery Designerの開発者です。

    最後の更新: 1999年11月18日

    FS2000ビルディング

    FS2000のシーナリ命令セットは、建物を建設する新しいコマンドを含んでいます。 この新しい命令は、前のバージョンのシミュレータで使用可能だった 命令(限られた数のテクスチャーとスタイルしかサポートしていなかった)に比べ、 大幅に強力です。 新しいビル命令は、ビルあたり最高4つのテクスチャー、3から最低 16までの側面、とがった屋根、および傾斜した側面を提供します。 この記事はこの新しいビル命令の技術的な面を議論します。

    以下の記述が、FS2000のビル命令の使用方法と機能を完全に要約 できていないかもしれないことに注意してください。 FS2000の巨大なビルの数のため、そのバリエーションに対するすべての ものを試験することは不可能でした。

    以下の議論において、すべてのデータフィールドは16ビット幅です。 イタリック体 はデータフィールドを示します。 すべての次元のデータはメートルにおいて与えられます(1メートル は3.28084フィートと等しい)。 Hが続いている数は16進法表記です(例えば 000BHは10進の11と等しい。)

    命令のopcodeは00A0Hです。 sizeフィールドは 40, 42, または 46 をとり、opcode に続 く全体の命令のサイズをバイト数で示します。 ビルのstyleは次で、以下のとおりで、以下の値とと意味を持っ ているのが観察されます:

    0004H   4つの側面のビル、サイズは 42
    0007H   4つの側面のビルで、尖った屋根。サイズは 46
    0009H   4つの側面のビルで、傾斜した側面。サイズは 46
    000AH   n 個の側面のビル、サイズは 40
    000BH   8 個の側面のビル、サイズは 40
    
    

    次元のフィールドはstyleフィールドに続き、それらの内 容は建物のタイプに依存します。 ビルスタイル 0004H, 0007H に対しては、x次元とy次 元があります。 ビルスタイル000AHおよび 000BHは、3つのフィールドを持っています: sides(側面)の数、x次元、およびy次元の番号。 ビルスタイル0009H(傾斜した側)は、4つのフィールドを持っています: x次元、y次元、x屋根次元、およびy屋根次元。

    これらの命令タイプのそれぞれに、4つのtextureレ コード〈順番に与えられた〉があり、最高3つのレベルのビルの側面テクスチャーと屋根テクス チャーを制御します。 最初のレコードは、建物の中で最も低いレベルに適用されたテクスチャー をコントロールします。 2番目と3番目のテクスチャーレコードは、連続しているより高いレベ ルをコントロールします。 最後のレコードは屋根テクスチャーをコントロー ルします。 もしどのようなレコードも使われない(高さフィールドは0000Hに設 定、次のパラグラフを参照)ならば、次のレコードは隣のレベルをコントロールします。 均一なビルのテクスチャーは、1つのレコードのみを使って設立する ことができます。

    個々のテクスチャーレコードは、命令におけるstyleフィー ルドに依存して、3, 4, または 5 個のデータフィールドを含んでいます。 最初のフィールドは常にテクスチャーのidentifier(識別子) であり、2番目のフィールドは常に、ビルのレベルレコードのためのheight(高さ) フィールドです。 もしheightが0000Hであるならば、レコードは使われません。 テクスチャーレコードの残りのフィールドは、ビットマップから取り 去られたテクスチャーの量をコントロールします。これは、 FS2000のビルテクスチャーと、それを identifier で識別する方法と ともに、次で述べられます。

    建物に適用できる270の個々のテクスチャービットマップがあります(付録Bを見てください)。 これらのファイルはFS2000のメインテクスチャーディレクトリに蓄えられます。 テクスチャーファイルの実際のリストはG3D.DLLのデータセクション に維持されます。 それらは3グループに分割されます: ユニークなテクスチャーの4つの水平のバンドを持つビットマップ、 均一なテクスチャーを持つビットマップ、および屋根ビットマップ。 最初の2つのグループは、昼と夜のビットマップを持っているので、 実際の選択肢はもっと少なくなります。 しかし、ここに見られるように、FS2000 のビル命令の柔軟性は、巨大な数の ビルを可能にします。

    1番目および3番目のレベルのテクスチャーレコード識別子は、テク スチャービットマップの最初のグループから選びます。 これらは、イメージの底から数えて1から4まで番号を付けられた4つ の水平のバンドを持つテクスチャーです。 2つの連続した識別子がそれぞれのテクスチャービットマップで使われます。 1番目のレベルのレコードは、テクスチャーに関連付けされた1番目または2番 目の識別子のどちらが使われるかによって、バンド1または3のいずれかを選択 します。 3番目のレベルのレコードは、どちらの識別子が使われるかに依存して、 バンド2または4を選択します。 従って、個々のテクスチャービットマップファイルは4つの組み合わ せで使用できます。

    例えば、識別子0046Hと0047Hは、ファイルAIR_TB1_2.BMPによっ て使われます(そして、夜のAIR_TB1_2_LM.BMP)。 もし1番目のレベルのレコード識別子が 0046H で、3番目のレベルの 識別子が 0047H と与えられた場合、テクスチャーの最初と4番目のバン ドが選ばれるでしょう。

    レベル1と3のテクスチャレコードの残りのフィールドは、 どれだけのテクスチャー(ピクセルの数)を使用するかを決定します。 垂直方向全体またはバンドのy-軸が常に使われます; 水平の(x-軸)コンポーネントだけがコントロールできます。 4つの側面を持つビルディングは、2つのピクセルコントロールフィー ルドを持っています; 長さ(x次元)のためのものおよび幅のためのもの(y 次元)です。 すなわち、最初のフィールドは正面の後方のテクスチャーの適用をコ ントロールし、2番目のフィールドは側面のテクスチャの適用をコントロール します。 ビットマップは幅256ピクセルなので、0100Hの値はバンド全体を選びます。 0080H(10進で128)の値は、バンドの半分を選びます。 もし0100Hよ り大きい値が使われるならば、ビットマップは繰り返されます。 例えば、0200Hはビットマップを2回使います。

    4つ以外の個数の側面を持つビルに対しては、 1つのピクセルコントロールフィールドだけが提供されており、これはそれぞ れの側面で使用されます。

    2番目のレベルのテクスチャーレコード識別子フィールドは、ビットマッ プの2番目のグループからテクスチャーを選びます。 これらは均一なテクスチャービットマップであり、昼と夜のバージョンを持っています。 このレコードは、垂直の軸をコントロールするための付加的なフィー ルドだけでなく水平の軸にテクスチャーの適用をコントロールす るためのフィールドも含んでいます。 この付加的な垂直のフィールドは、最初の水平のフィールドの直後に続いています。 4つの側面を持つビル以外では、2番目の水平フィールドはありませ ん。

    FS2000ビルコマンドの最後のなテクスチャーレコードは、 屋根にテクスチャーの適用をコントロールします。 そのidentifierフィールドは屋根テクスチャーのグループか ら選びます。 これらのビットマップには夜のバージョンはありません。 4つの側面と平らな屋根を持つ建物では、heightフィール ドはありません。 height コンポーネントは4つ以外の側面を持つビルに対して提供され ます。 ビットマップの水平および垂直軸からテクスチャーの適用を 制御する、2つのピクセル選択フィールドがあります。

    とがっている屋根をもつ建物のために、2つの付加的なフィールド があります。 それらは、頂点までの屋根の高さと、最後のピクセル選択フィールドです。

    FS2000の道路

    道路はMicrosoftフライト・シミュレータにおいて一連の2回以 上の命令によって建設されます。 最初の命令は、いつも、初期のポジションを指定して道路を開始する (いわゆる)RoadMoveToコマンドです。 これに続いているのは、実際道路を引く1つ以上のRoadLineToコマンドです。 シミュレーターの前のバージョンにおいて、道路は、現在確立された ラインと表面色によって引かれました。 テクスチャーは適用できたけれども、それをオフにすることが難しかっ たという点で、問題がありました。

    FS2000のシーナリ命令セットは、テクスチャーの使用をサポート する新しいRoadMoveToコマンドを含み、以前の灰色の実線に比べ、 よりリアルなの道路表面を提供します。

    以下の議論において、すべてのデータフィールドは幅16ビットで す(2バイト)。 イタリック体 はデータフィールドを示します。 すべてのオフセットデータはメートルにおいて与えられます(1メー トルは3.28084フィートと等しい)。 H がついた数値は、16進表記を示します。 (例えば 000BHは10進の11)と等しい。 )

    命令のopcodeは00A8Hです。 命令長は、opcodeを含む12バイトであり、5つのデータフィールド を次の通り提供します:

    フィールド 意味
    opcode 00A8H
    texture テクスチャーセレクター
    width 1/2道路幅
    x offset RefPointから
    z offset RefPointから
    y offset RefPointから

    textureセレクターフィールドは主要なFS2000テクスチャー ディレクトリから以下のテクスチャーをロードします:

    価値 テクスチャーファイル
    2 V_Major_Road.bmp
    3 V_Minor_Road.bmp
    4 V_Railroad.bmp
    5 V_River.bmp

    このフィールドでの1の値は、設立された表面とライン色を使います。 それは、ロードされたビットマップを使うけれども、フライト・シュ ミレーターのその前のバージョンが持っていたものと同じ問題(オフにできな い)を抱えます。

    オフセットフィールドはこの命令の以前のバージョンと同一で、 それらの値はRefPoint単位です。 すなわち、それらはRefPointの scale factorに影響されます。

    付録A

    命令要約

    struct S9_BLDG_SQUARE		/* FS2000 style                     */
    	{
    	short type;				/* opcode (0x00a0)                  */
    	short size;				/* size (42)                        */
    	short style;				/* square (0x04)                    */
    	short length;				/* x dimension                      */
    	short width;				/* y dimension                      */
    	short texture1;			/* level 1 texture                  */
    	short height1;			/* level 1 height                   */
    	short x1;				/* x pixels                         */
    	short y1;				/* y pixels                         */
    	short texture2;			/* level 2 texture                  */
    	short height2;			/* level 2 height                   */
    	short x2;				/* x pixels                         */
    	short z2;				/* z offset                         */
    	short y2;				/* y pixels                         */
    	short texture3;			/* level 3 texture                  */
    	short height3;			/* level 3 height                   */
    	short x3;				/* x pixels                         */
    	short y3;				/* y pixels                         */
    	short roof;				/* roof texture                     */
    	short x4;				/* x pixels                         */
    	short y4;				/* y pixels                         */
    	};
    
    struct S9_BLDG_PEAKED		/* FS2000 style                     */
    	{
    	short type; 				/* opcode (0x00a0)                  */
    	short size;				/* size (46)                        */
    	short style;				/* square (0x07)                    */
    	short length;				/* x dimension                      */
    	short width;				/* y dimension                      */
    	short texture1;			/* level 1 texture                  */
    	short height1;			/* level 1 height                   */
    	short x1;				/* x pixels                         */
    	short y1;				/* y pixels                         */
    	short texture2;			/* level 2 texture                  */
    	short height2;			/* level 2 height                   */
    	short x2;				/* x pixels                         */
    	short z2;				/* z pixels                         */
    	short y2;				/* y pixels                         */
    	short texture3;			/* level 3 texture                  */
    	short height3;			/* level 3 height                   */
    	short x3;				/* x pixels                         */
    	short y3;				/* y pixels                         */
    	short roof;				/* roof texture                     */
    	short x4;				/* x pixels                         */
    	short y4;				/* y pixels                         */
    	short height4;			/* roof height                      */
    	short z4;				/* z pixels                         */
    	};
    
    
    struct S9_BLDG_SLOPED		/* FS2000 style                     */
    	{
    	short type; 				/* opcode (0x00a0)                  */
    	short size;				/* size (46) 						*/
    	short style;				/* square (0x09)                    */
    	short length;				/* x dimension (base)               */
    	short width;				/* y dimension (base)               */
    	short lengthRoof;		/* x dimension (roof)               */
    	short widthRoof;			/* y dimension (roof)               */
    	short texture1;			/* level 1 texture                  */
    	short height1;			/* level 1 height                   */
    	short x1;				/* x pixels                         */
    	short y1;				/* y pixels                         */
    	short texture2;			/* level 2 texture                  */
    	short height2;			/* level 2 height                   */
    	short x2;				/* x pixels                         */
    	short z2;				/* z pixels                         */
    	short y2;				/* y pixels                         */
    	short texture3;			/* level 3 texture                  */
    	short height3;			/* level 3 height                   */
    	short x3;				/* x pixels                         */
    	short y3;				/* y pixels                         */
    	short roof;				/* roof texture                     */
    	short x4;				/* x pixels                         */
    	short y4;				/* y pixels                         */
    	};
    
    struct S9_BLDG_POLY			/* FS2000 style                     */
    	{
    	short type; 				/* opcode (0x00a0)                  */
    	short size;				/* size (40)                        */
    	short style;				/* square (0x0b)                    */
    	short sides;				/* number of sides                  */
    	short length;				/* x dimension                      */
    	short width;				/* y dimension                      */
    	short texture1;			/* level 1 texture                  */
    	short height1;			/* level 1 height                   */
    	short x1;				/* x pixels                         */
    	short texture2;			/* level 2 texture                  */
    	short height2;			/* level 2 height                   */
    	short x2;				/* x pixels                         */
    	short y2;				/* z pixels                         */
    	short texture3;			/* level 3 texture                  */
    	short height3;			/* level 3 height                   */
    	short x3;				/* x pixels                         */
    	short roof;				/* roof texture                     */
    	short height4;			/* roof height                      */
    	short x4;				/* x pixels                         */
    	short y4;				/* y pixels                         */
    };
    

    付録B

    テクスチャー

    Level 1 and 3 (day and night)
    
    0x0008	0x0009	br_apt1_2.bmp		br_apt1_2_lm.bmp
    0x000a	0x000b	br_apt3_4.bmp		br_apt3_4_lm.bmp
    0x000c	0x000d	br_apt5_6.bmp		br_apt5_6_lm.bmp
    0x000e	0x000f	fr_apt1_2.bmp		fr_apt1_2_lm.bmp
    0x0010	0x0011	fr_apt3_4.bmp		fr_apt3_4_lm.bmp
    0x0012	0x0013	gr_apt1_2.bmp		gr_apt1_2_lm.bmp
    0x0014	0x0015	gr_apt3_4.bmp		gr_apt3_4_lm.bmp
    0x0016	0x0017	gr_apt5_6.bmp		gr_apt5_6_lm.bmp
    0x0018	0x0019	ap_tb1_2.bmp		ap_tb1_2_lm.bmp
    0x001a	0x001b	ap_tb3_4.bmp		ap_tb3_4_lm.bmp
    0x001c	0x001d	ap_tb5_6.bmp		ap_tb5_6_lm.bmp
    0x001e	0x001f	gv_tb1_2.bmp		gv_tb1_2_lm.bmp
    0x0020	0x0021	gv_tb3_4.bmp		gv_tb3_4_lm.bmp
    0x0022	0x0023	wh_tb1_2.bmp		wh_tb1_2_lm.bmp
    0x0024	0x0025	wh_tb3_4.bmp		wh_tb3_4_lm.bmp
    0x0026	0x0027	sky_tb_black1_2.bmp		sky_tb_black1_2_lm.bmp
    0x0028	0x0029	sky_tb_black3_4.bmp		sky_tb_black3_4_lm.bmp
    0x002a	0x002b	sky_tb_blue1_2.bmp		sky_tb_blue1_2_lm.bmp
    0x002c	0x002d	sky_tb_blue3_4.bmp		sky_tb_blue3_4_lm.bmp
    0x002e	0x002f	sky_tb_dkgray1_2.bmp		sky_tb_dkgray1_2_lm.bmp
    0x0030	0x0031	sky_tb_dkgray3_4.bmp		sky_tb_dkgray3_4_lm.bmp
    0x0032	0x0033	sky_tb_ltgray1_2.bmp		sky_tb_ltgray1_2_lm.bmp
    0x0034	0x0035	sky_tb_ltgray3_4.bmp		sky_tb_ltgray3_4_lm.bmp
    0x0036	0x0037	sky_tb_midgray1_2.bmp		sky_tb_midgray1_2_lm.bmp
    0x0038	0x0039	sky_tb_midgray3_4.bmp		sky_tb_midgray3_4_lm.bmp
    0x003a	0x003b	sky_tb_red1_2.bmp		sky_tb_red1_2_lm.bmp
    0x003c	0x003d	sky_tb_red3_4.bmp		sky_tb_red3_4_lm.bmp
    0x003e	0x003f	sky_tb_tan1_2.bmp		sky_tb_tan1_2_lm.bmp
    0x0040	0x0041	sky_tb_tan3_4.bmp		sky_tb_tan3_4_lm.bmp
    0x0042	0x0043	sky_tb_white1_2.bmp		sky_tb_white1_2_lm.bmp
    0x0044	0x0045	sky_tb_white3_4.bmp		sky_tb_white3_4_lm.bmp
    0x0046	0x0047	air_tb1_2.bmp		air_tb1_2_lm.bmp
    0x0048	0x0049	air_tb3_4.bmp		air_tb3_4_lm.bmp
    0x0048	0x0049	air_tb5_6.bmp		air_tb5_6_lm.bmp
    0x004a	0x004b	air_tb7_8.bmp		air_tb7_8_lm.bmp
    0x004c	0x004d	air_tb9_10.bmp		air_tb9_10_lm.bmp
    0x004e	0x004f	ba_tb1_2.bmp		ba_tb1_2_lm.bmp
    0x0050	0x0051	ba_tb3_4.bmp		ba_tb3_4_lm.bmp
    0x0052	0x0053	sky_tb_tan5_6.bmp		sky_tb_tan5_6_lm.bmp
    
    		
    Level 2 (day and night)
    
    0x0004		br_apt1w.bmp		br_apt1w_lm.bmp
    0x0005		br_apt2w.bmp		br_apt2w_lm.bmp
    0x0006		br_apt3w.bmp		br_apt3w_lm.bmp
    0x0007		br_apt4w.bmp		br_apt4w_lm.bmp
    0x0008		br_apt5w.bmp		br_apt5w_lm.bmp
    0x0009		br_apt6w.bmp		br_apt6w_lm.bmp
    0x000a		fr_apt1w.bmp		fr_apt1w_lm.bmp
    0x000b		fr_apt2w.bmp		fr_apt2w_lm.bmp
    0x000c		fr_apt3w.bmp		fr_apt3w_lm.bmp
    0x000d		fr_apt4w.bmp		fr_apt4w_lm.bmp
    0x000e		gr_apt1w.bmp		gr_apt1w_lm.bmp
    0x000f		gr_apt2w.bmp		gr_apt2w_lm.bmp
    0x0010		gr_apt3w.bmp		gr_apt3w_lm.bmp
    0x0011		gr_apt4w.bmp		gr_apt4w_lm.bmp
    0x0012		gr_apt5w.bmp		gr_apt5w_lm.bmp
    0x0013		gr_apt6w.bmp		gr_apt6w_lm.bmp
    0x0014		ap_w1.bmp		ap_w1_lm.bmp
    0x0015		ap_w2.bmp		ap_w2_lm.bmp
    0x0016		ap_w3.bmp		ap_w3_lm.bmp
    0x0017		ap_w4.bmp		ap_w4_lm.bmp
    0x0018		ap_w5.bmp		ap_w5_lm.bmp
    0x0019		ap_w6.bmp		ap_w6_lm.bmp
    0x001a		gv_w1.bmp		gv_w1_lm.bmp
    0x001b		gv_w2.bmp		gv_w2_lm.bmp
    0x001c		gv_w3.bmp		gv_w3_lm.bmp
    0x001d		wh_w1.bmp		wh_w1_lm.bmp
    0x001e		wh_w2.bmp		wh_w2_lm.bmp
    0x001f		wh_w3.bmp		wh_w3_lm.bmp
    0x0020		wh_w4.bmp		wh_w4_lm.bmp
    0x0021		wh_w5.bmp		wh_w5_lm.bmp
    0x0022		wh_w6.bmp		wh_w6_lm.bmp
    0x0023		sky_w_black1.bmp		sky_w_black1_lm.bmp
    0x0024		sky_w_black2.bmp		sky_w_black2_lm.bmp
    0x0025		sky_w_black3.bmp		sky_w_black3_lm.bmp
    0x0026		sky_w_blue1.bmp		sky_w_blue1_lm.bmp
    0x0027		sky_w_blue2.bmp		sky_w_blue2_lm.bmp
    0x0028		sky_w_blue3.bmp		sky_w_blue3_lm.bmp
    0x0029		sky_w_dkgray1.bmp		sky_w_dkgray1_lm.bmp
    0x002a		sky_w_dkgray2.bmp		sky_w_dkgray2_lm.bmp
    0x002b		sky_w_dkgray3.bmp		sky_w_dkgray3_lm.bmp
    0x002c		sky_w_ltgray1.bmp		sky_w_ltgray1_lm.bmp
    0x002d		sky_w_ltgray2.bmp		sky_w_ltgray2_lm.bmp
    0x002e		sky_w_ltgray3.bmp		sky_w_ltgray3_lm.bmp
    0x002f		sky_w_ltgray4.bmp		sky_w_ltgray4_lm.bmp
    0x0030		sky_w_midgray1.bmp		sky_w_midgray1_lm.bmp
    0x0031		sky_w_midgray2.bmp		sky_w_midgray2_lm.bmp
    0x0032		sky_w_midgray3.bmp		sky_w_midgray3_lm.bmp
    0x0033		sky_w_red1.bmp		sky_w_red1_lm.bmp
    0x0034		sky_w_red2.bmp		sky_w_red2_lm.bmp
    0x0035		sky_w_red3.bmp		sky_w_red3_lm.bmp
    0x0036		sky_w_tan1.bmp		sky_w_tan1_lm.bmp
    0x0037		sky_w_tan2.bmp		sky_w_tan2_lm.bmp
    0x0038		sky_w_tan3.bmp		sky_w_tan3_lm.bmp
    0x0039		sky_w_white1.bmp		sky_w_white1_lm.bmp
    0x003a		sky_w_white2.bmp		sky_w_white2_lm.bmp
    0x003b		sky_w_white3.bmp		sky_w_white3_lm.bmp
    0x003c		air_w1.bmp		air_w1_lm.bmp
    0x003d		air_w2.bmp		air_w2_lm.bmp
    0x003e		air_w3.bmp		air_w3_lm.bmp
    0x003f		air_w4.bmp		air_w4_lm.bmp
    0x0040		air_w5.bmp		air_w5_lm.bmp
    0x0041		air_w6.bmp		air_w6_lm.bmp
    0x0042		air_w7.bmp		air_w7_lm.bmp
    0x0043		air_w8.bmp		air_w8_lm.bmp
    0x0044		air_w9.bmp		air_w9_lm.bmp
    0x0045		air_w10.bmp		air_w10_lm.bmp
    0x0046		ba_w1.bmp		ba_w1_lm.bmp
    0x0047		ba_w2.bmp		ba_w2_lm.bmp
    0x0048		ba_w3.bmp		ba_w3_lm.bmp
    0x0049		ba_w4.bmp		ba_w4_lm.bmp
    0x004a		ba_w5.bmp		ba_w5_lm.bmp
    0x004b		ap_w7.bmp		ap_w7_lm.bmp
    0x004c		sky_w_black4.bmp		sky_w_black4_lm.bmp
    0x004d		sky_w_black5.bmp		sky_w_black5_lm.bmp
    0x004e		sky_w_blue4.bmp		sky_w_blue4_lm.bmp
    0x004f		sky_w_dkgray4.bmp		sky_w_dkgray4_lm.bmp
    0x0050		sky_w_midgray4.bmp		sky_w_midgray4_lm.bmp
    0x0051		sky_w_midgray5.bmp		sky_w_midgray5_lm.bmp
    0x0052		sky_w_midgray6.bmp		sky_w_midgray6_lm.bmp
    0x0053		sky_w_tan4.bmp		sky_w_tan4_lm.bmp
    0x0054		sky_w_white4.bmp		sky_w_white4_lm.bmp
    
    Roof
    		
    0x0004		roof1.bmp
    0x0005		roof2.bmp
    0x0006		roof3.bmp
    0x0007		roof4.bmp
    0x0008		roof5.bmp
    0x0009		flatroof_1.bmp
    0x000a		flatroof_2.bmp
    0x000b		flatroof_3.bmp
    0x000c		flatroof_4.bmp
    0x000d		flatroof_5.bmp
    0x000e		flatroof_6.bmp
    0x000f		flatroof_7.bmp
    0x0010		flatroof_8.bmp
    0x0011		tileroof_1.bmp
    0x0012		tileroof_2.bmp
    0x0013		tileroof_3.bmp
    0x0014		tileroof_4.bmp
    0x0015		tileroof_5.bmp
    0x0016		blueroof.bmp
    0x0017		blueroof2.bmp
    0x0018		blueroof3.bmp
    0x0019		dkgray.bmp
    0x001a		dkgrayroof.bmp
    0x001b		dkgrayroof3.bmp
    0x001c		ltgrayroof.bmp
    0x001d		ltgrayroof2.bmp
    0x001e		mdgrayroof.bmp
    0x001f		tanroof.bmp
    0x0020		tanroof2.bmp
    0x0021		tanroof3.bmp
    

    ピーターJacobsonにより研究されて、書かれました


    もし誰かが、彼らが分担したいどのような他の発見または情報でも持っているならば、どうぞ、editor@ftmagazine.comで私達にメールすることをためら わないでください

    日本語訳: 2000/1/29 by 村上 卓弥 (tmurakam@mtd.biglob.ne.jp)
    オリジナルの URL: http://www.ftmagazine.com/tutorial/FS2K_inst.htm
    訳の正しさは保証しません。