Hello,
I would be grateful for any help. I am programming DirectX using BB4W
(BBC Basic For Windows) by R.T.Russell. It is a BASIC interpreter. I
have been programming DirectX applications and have been able to use
D3D8.dll with no problems but I want to be able to use D3DX8.LIB
functions via BASIC. I think that in C/C++ the application links the
D3DX8.LIB at compile time (??) and I have no way in BASIC to do that. I
have been able to use the functions in D3DX8D.DLL (debug) version but I
am not allowed, due to copyright restrictions, to redistribute that dll.
I have been told that with gcc I would be able 'export' the LIB to a DLL
and then I would be able to redistribute this with my applications. I
have downloaded gcc, but in all honesty it is all Greek to me.
Would anyone be kind enough to either guide me through what I want to
do, or direct me to the best place? I know it is a lot to ask.
In the mean time I'm going to do a bit of reading ( I would just like to
state that at the moment I don't even know the difference between a LIB
and a DLL!) and try to make in roads into this problem.
For instance, in BB4W for me to use any procedure in D3DX8D.DLL I would
do the following
[ also install D3D8.dll...
...]
file$="d3dx8d.dll"
SYS "LoadLibrary", file$ TO D3DX%
IF D3DX%=0 THEN PRINT"No D3DX support.":VDU7:WAIT 50
SYS "GetProcAddress", D3DX%, "D3DXCreateMesh" TO `D3DXCreateMesh`
IF `D3DXCreateMesh`=0 THEN PRINT"`D3DXCreateMesh` not supported."
SYS "GetProcAddress", D3DX%, "D3DXCreateTeapot" TO `D3DXCreateTeapot`
IF `D3DXCreateTeapot`=0 THEN PRINT"No cuppa!"
SYS "GetProcAddress", D3DX%, "D3DXCreateBox" TO `D3DXCreateBox`
IF `D3DXCreateBox`=0 THEN PRINT"No Box"
SYS "GetProcAddress", D3DX%, "D3DXCreateCylinder" TO
`D3DXCreateCylinder`
IF `D3DXCreateCylinder`=0 THEN PRINT"No Cylinder"
SYS "GetProcAddress", D3DX%, "D3DXCreateSphere" TO `D3DXCreateSphere`
IF `D3DXCreateSphere`=0 THEN PRINT"No Sphere"
SYS "GetProcAddress", D3DX%, "D3DXLoadMeshFromX" TO
`D3DXLoadMeshFromX`
IF `D3DXLoadMeshFromX`=0 THEN PRINT"No Sphere"
SYS "GetProcAddress", D3DX%, "D3DXCreateBuffer" TO `D3DXCreateBuffer`
IF `D3DXCreateBuffer`=0 THEN PRINT"Procedure CreateBuffer Not found."
I am able to use the D3DXfunctions.... but am not allowed to
redistribute the file.
I hope I have elucidated the problem I have clearly.
Any help, suggestions, comments, etc would be most welcome!
Michael Hutton