Delphi用DirectX5ヘッダーとサンプル

English


Delphi3用

ヘッダーdirectx5.lzh(16.6kbyte)

ddraw.pas


Drawサンプルtes.lzh(20.8kbyte)
Delphi2用

ヘッダーdx5d2.lzh(56.5kbyte)

ddraw.pas
d3d.pas
d3dcaps.pas
d3dtypes.pas
dsound.pas
d3drm.pas
d3drmdef.pas
d3drmobj.pas
d3drmwin.pas
dplay.pas
DInput.pas(Converted by SANDMAN)


Drawサンプルtesd2.lzh(20.8kbyte)
DrawPrimitiveサンプルtes3d.lzh(10.8kbyte)
DirectSoundサンプルdstes.lzh(3.12kbyte)
Direct3DRmサンプルd3drm.lzh(16.6kbyte)
DirectPlayサンプルdplay.lzh(3.59kbyte)
DirectInputサンプル(Produced by SANDMAN)dinputs.lzh(8.7kbyte)


注意

Delphi2用のでも(Delphiのあるフォルダ)\Lib\Delphi2にパスを通せば
Delphi3で使うことが出来ます。(うまくいかないという話も聞いていますが)

ヘッダーファイルの先頭にあるコメントは削除しないでください。

// H to Pas Converter Ver0.3.0.3
// Date : 97/09/01
// Source : ddraw.h
(こんな感じのもの)

それさえ守っていただければ、改変、配布は自由です。

熊木氏が作られたConverterをおきました。
このヘッダーは、このコンバーターを使って変換しました。熊木氏に感謝します

22:20 00/02/29

DSound.pas L933,935 DirectSoundCretureCreate→DirectSoundCaptureCreate
SANDMANさんどうもありがとうございました.


18:12 98/09/08

RGBA_MAKEを作りました.


20:09 98/06/14

DrawPrimitiveのサンプルのバグを修正


12:38 98/05/03

SANDMAN created the Header and Sample of DirectInput .


18:58 98/04/22

DirectPlayのHeaderとSampleを作成。
16:48 98/04/10

OHBAさんの報告からDirectSoundのサンプルを修正。
OHBAさんに感謝

20:06 98/04/04

dsound内に間違いがあるとの報告。SANDMANさんに感謝

function SxDMaxDistance(Para0: D3DVALUE; Para1: DWORD): HRESULT; virtual; stdcall; abstract;
->
function SetMaxDistance(Para0: D3DVALUE; Para1: DWORD): HRESULT; virtual; stdcall; abstract;

15:45 98/03/28

DirectSoundのサンプルでWaveの読み込みを失敗する場合があるので
もっと信頼性を高くしました。

19:07 98/03/19
DDCAPSのなかの
...
dwReserved4	: DWORD{130};	// reserved
dwReserved5	: DWORD{134};	// reserved
dwReserved6	: DWORD{138};	// reserved
これらをコメントアウトしました。

IDirectDraw and IDirectDraw2のメンバを
function GetCaps(const Para0: DDCAPS;const Para1: DDCAPS): HRESULT; virtual ; stdcall ; abstract ;
->
function GetCaps(var Para0: DDCAPS;var Para1: DDCAPS): HRESULT; virtual ; stdcall ; abstract ;
に変更しました。

function CreateDeviceFromSurface(PGUID: PGUID; lpDD: IDIRECTDRAW; lpDDSBack: LPDIRECTDRAWSURFACE;
	 Para0: IDIRECT3DRMDEVICE): HRESULT; virtual; stdcall; abstract;
->
function CreateDeviceFromSurface(PGUID: PGUID; lpDD: IDIRECTDRAW; lpDDSBack: LPDIRECTDRAWSURFACE;
	 var Para0: IDIRECT3DRMDEVICE): HRESULT; virtual; stdcall; abstract;
SANDMANさんの助言に感謝します。
23:58 1998/02/14

べつに使えないことはないのですがやっぱ不自然なので。
function DrawIndexedPrimitive(Para0: D3DPRIMITIVETYPE; Para1: D3DVERTEXTYPE;
	 Para2: pointer; Para3: DWORD;var Para4: Word; Para5: DWORD; Para6: DWORD): HRESULT;  virtual ; stdcall ; abstract ;
   ↓
function DrawIndexedPrimitive(Para0: D3DPRIMITIVETYPE; Para1: D3DVERTEXTYPE;
	 Para2: pointer; Para3: DWORD; Para4: pointer; Para5: DWORD; Para6: DWORD): HRESULT;  virtual ; stdcall ; abstract ;

1998/1/14
function CreateDevice(var Para0: TGUID; Para1: IDIRECTDRAWSURFACE;
                      var Para2: IDIRECT3DDEVICE2): HRESULT;  virtual ; stdcall ; abstract ;
   ↓
function CreateDevice(const Para0: TGUID; Para1: IDIRECTDRAWSURFACE;
                      var Para2: IDIRECT3DDEVICE2): HRESULT;  virtual ; stdcall ; abstract ;

12/9
間違いがあったので修正
 IDirectDrawSurface.GetPalette(para0 : IDirectDrawPalette): HRESULT;
   ↓
 IDirectDrawSurface.GetPalette(var para0 : IDirectDrawPalette): HRESULT;

 d3drmdefDLL = 'd3drmdef.dll';
   ↓
 d3drmDLL = 'd3drm.dll';

11/22
D3DRmあたりでの宣言に間違いがあったので修正
SANDMAN氏の協力に感謝
11/14
D3DRmあたりでメソッドの宣言に間違いがあったので
修正。
11/7
D3DRmに挑戦。
清3Z氏の本で勉強しながら作ってみました。
感謝します。
10/6
DirectSoundやってみました。
サンプルというよりかは、テスト用という貧弱な感じ。

10/3
DrawPrimitiveのサンプルにテクスチャーを張りつけてみました。
ここではDirectX5のヘッダーが全てコンバート済みの模様
一応、私の方でもコンバートの作業は続けていくと思いますが
サンプルで動作確認をしながらしていくと思うので、全部はできないかもしれないし
私が使うのしかコンバートしないかもしれない。
そこにあるのはDelphi2版のようだからDelphi3版を中心にいくかな。
9/23
やったぜ色も正常になった。

9/21
DrawPrimitiveで何となくできた。
でもWindowModeにおける。パレット処理の問題で
色が死んでいる。誰か解決してー。

9/20
Direct3DImで列挙型の宣言に間違いがあったため
修正。

9/20
宮野さんの協力のおかげで、
Delphi3版のサンプルのバグが取れました。
それからDelphi2の方のD3Dのヘッダーも正常なエラー値が返ってくるので
一応公開。(いい加減過ぎ)
だれかDrawPrimitiveのサンプル作ってー
9/10
Delphi2版は調子いいぞ
9/9
まだβな状態だ
サンプルはなんかうまく動いてないぞ、
これはおそらくコンバートがうまくいってないというよりは
Delphi3でのDirectXの使い方が結構変わったためのようだぞ
今のところサンプルはプログラムが終わったあとに
AccessViolationが起こるぞ、知らないうちに
重要なところを書き替えているようだ。
誰か動いたという人がいたら教えてくれ。
あと、ヘッダーの方にもエラーがあるだろうから
できたら報告してくだされ。

ちなみにこのヘッダは、自由に使ったり、配布したりして構わないぞ。

by 黒田 Dycoon
意見、感想などはこちらへ、
Mail adress … dycoon@ceres.dti.ne.jp
上へ
目次へ


GigaHit