Know How

Last update at 13th February 1998


Direct3Dランタイムのインストール方法
ランタイムの入手
インストール方法
Direct3Dの使用上の注意
GCCの使い方
GCCのダウンロード
インストール
AUTOEXEC.BATの変更
コンパイル方法
使用上の注意

Direct3Dランタイムのインストール方法
・ランタイムの入手
 まず、Direct3Dのランタイムを手に入れます。ランタイムの入手には、
・雑誌付録やゲーム等のCD-ROMから
・マイクロソフトのホームページから
の2つの方法があります。
 ネットからの入手は、マイクロソフトのDirectX5のホームページから、DOS/V版のdx5dosv.exe(3.5M)か、NEC PC-98版のdx5nec.exe(2.2M)を入手します。
 もし、Direct3Dを使ったプログラムの開発を行う場合は、マイクロソフトのDirectX5のSDKのホームページのidx5sdk.exe(33M)のSDKを入手した方が良いかもしれません。が、雪合戦の対戦プログラムにはSDKは必要ないです。余談ですが、BorlandのC++BuilderやVC++の新しいバージョンにはSDKが、最初から入っています。ランタイムのインストールだけで、雪合戦プログラム位なら作れます。
・インストール方法
 雑誌やゲームのCD-ROMからのインストールは、その雑誌等の説明を参考にして下さい。なお、この場合、「宇宙雪合戦」は、DirectX3a以降しか、動作確認していませんので、注意して下さい。
 インストールは、エクスプローラ等からdx5dosv.exe、または、dx5nec.exeを実行するだけで、簡単に行えます。
・Direct3Dの使用上の注意
・色数の設定
 画面の詳細設定で、色数が24bitもしくは32bitに設定されていないとエラーが出ます。原因は不明です。ノートブック等で、800x600表示では、16bitのみの機種もありますが、この場合、640x480表示にして、24bitカラーにすると良いようです。
・3Dグラフィックアクセラレータが無い時・・でもOK
 どうも、詳しいことは良く分からないのですが、DirectX5をインストールしてしまえば、ハードウェアの3Dグラフィックアクセラレータが無くても、3D表示してしまいます。
 この場合、CPUが、ソフト的にエミュレーションするのでしょうが、結構、速いです。私のマシンはFMV-5100NC/Sで、Pentium100MHzと言う、現在ではプアなサブノートですが、OKです。

GCCの使い方
 GNUのC/C++コンパイラであるGCCのWindows95/NT版を使って、プログラムをコンパイルする方法を説明します。ここでは、対戦プログラムをコンパイルし、実行するために最低限必要な事項に限って説明します。cygnus から提供されているGNU-WIN32には、このほかにもUNIXライクな環境がそろっています。これらを使うための設定等の詳しい情報は、Binary Wizgnu-win32の紹介等のホームページを参考にして下さい。
GCCのダウンロード
 必要なファイルをダウンロードします。Cygnusのサーバーftp://ftp.cygnus.com/pub/gnu-win32からダウンロードします。必要なファイルはgnu-win32-b18の中のcdk.exe(約14Mバイト)です。
インストール方法
 c:\gnuwin32というディレクトリを作り、cdk.exeを、そこから実行します。色々聞いてきますが、全て、YesまたはNextと答えていけば、最後にFinishでインストール終了です。インストールが終了したら、元々のcdk.exeは必要ないので消しましょう。インストールには、ハードディスクが90Mほど、必要なようです。
AUTOEXEC.BATの変更
 テキストエディタ等で、AUTOEXEC.BATの最後に以下の2行を追加して、再起動します。
set PATH=%PATH%;c:\gnuwin32\b18\H-i386-cygwin32\bin
set GCC_EXEC_PREFIX=C:\gnuwin32\b18\H-i386-cygwin32\lib\gcc-lib\
コンパイル方法
 MS-DOSプロンプトを起動し、DOSウィンドウから、sample.cppのあるディレクトリに移動し、以下のコマンドを実行するとsample.cppがコンパイルできます。
gcc -o sample.exe sample.cpp
または、以下のコマンドです。
g++ -o sample.exe sample.cpp
 この環境では、コマンドラインでのみコンパイルできますので、プログラムはエディタ等で、作成・修正が必要です。
使用上の注意
GCCを使ってプログラムを作る上では、次のような問題点が有ります。
 1.実行にはcygwin32.dllというランタイムが必要。
 2.GPLが適応されるかもしれない。
最初のランタイムについては、GCCをインストールした状態なら、もちろん、問題ないですが、GCCをインストールしていない環境ではPATHの切ってあるディレクトリにcygwin32.dllをコピーする必要があります。Cygnusのサーバーにcygwin32.dllもありますので、必要のある人はダウンロードしましょう。
 2番目の問題は、まだ、クリアではありません。GCC自体がGPL(日本語訳)が適応されていても、GCCでコンパイルされた実行形式まで、必ず適応されるのかが、私には良く分かりません。(この辺詳しい人がいたら教えて下さい。)GPLが適応されると、大まかに言って以下の3点を守る必要があります。(いいかげんな概要です。詳細はGPLを見て下さい。)
(1) プログラムをフリー(自由)に配布できるようにすること。
(2) プログラムソースも同時に配布すること。
(3) プログラムを改修し、それをフリーにするようにすること。
 ここで、問題になるのは(2)の項目です。私は、GPL(と言うかGNU)の精神に反対するつもりは毛頭ないのですが、対戦プログラムの場合、ソースが公開されるということは、その戦略まで公開されることを意味します。戦略を秘密にしないと、対戦の楽しみが半減する可能性もあります。
 もちろん、個人的にプログラムしている内や、ソース付で公開する場合は、何の問題ありません。
 この問題がクリアになるまで、もし、GCCでプログラムを作っている人が、ランキングにアップロードし、公開する時に、ソースまでは公開したくない時は、その旨をメールで書いて、私にソースを送って下さい。私が、コンパイルした上で、公開します。この時、私がソースの中身を覗かないことは、紳士協定として信用してもらうほか無いでしょう。

Atsushi Noda 1998