Hi again !

I'm very sorry, but the last D3D8Includes are buggy. I was
confronted with this while I'm converting the D3D8Mesh-Example

But here are the new ones and the D3D8-example for using
meshes in D3D8-applications.

Again sorry folks,

greetings. CALEB !
Posted on 2001-07-31 07:38:38 by Caleb
Afternoon, Caleb.

Thanks for the files.:alright:

I'll start using a JumpTable version of your include files (i.e. by not using ' _nojumptab_'). I see that you've supplied both types in your files.:)

If you use the 'D3Dx8d.dll' from the source given above^, then you shouldn't get any 'unresolved externals' (apart from the undefined stuff in the math include files).:grin:

Cheers,
Scronty
Posted on 2001-07-31 18:02:06 by Scronty
Afternoon, all.

The Texture Tutorial and the examples have been adjusted for the 'D3Dx8d.dll' (Here).

I still have to fix the alpha-bit function so that it takes the pitch of the textures' surface into account. That's why there's a vertical line showing in the blending.:grin:

Cheers,
Scronty
Posted on 2001-08-01 00:38:20 by Scronty
DEFINE_GUID makes it LARGER!

Look guys,
I just played with all of this includes (thanks).

Just one idea:
If possible, avoid using DEFINE_GUID macro!.
it defines GUIDs in .DATA section thus making it larger!

As a result - look in the file, compiled with using of D3D8.inc:
the first DWORDs you'll meet in the .data section
will be :rolleyes:

DA E8 D9 1D
remember that?:
DEFINE_GUID IID_IDirect3D8, {01dd9e8dah, 01c77h, 04d40h, {0b0h, 0cfh, 098h, 0feh, 0fdh, 0ffh, 095h, 012h}}

This means that all guids defined in D3D8.inc or
somewhere else (with use of DEFINE_GUID macro)
are now STATICALLY linked as data (unnecessary)

While we are here are trying to get size advantages with ASM, hey?

So i propose to do those def's like that:
sIID_IDirect3D8 TEXTEQU <{01dd9e8dah, 01c77h, 04d40h, {0b0h, 0cfh, 098h, 0feh, 0fdh, 0ffh, 095h, 012h}}>

and so on.

Then You'll have to define in Your .asm src:
DEFINE_GUID IID_IDirect3D8
DEFINE_GUID IID_IDirect3DDevice8




:stupid:(But not all GUIDs, i mean DirectX is full of GUID, You'll probably do NOT need 'em all)
Posted on 2001-08-03 10:46:12 by Andycar
Hi !

Thanks for your idea. But do you really need those guids :confused:
In my D3DX8-Examples there are no guids included ...

Greetings,

Caleb
Posted on 2001-08-04 03:15:19 by Caleb
:cool: Hi again :cool:

I'v started to write some FPU-macros for the D3DX8Math-Include
if this is of somebody's interest :grin:

Bye, Caleb

P.S: Are there any feedbacks refering my includes ? I will sleep
much more better :alright:
Posted on 2001-08-04 19:20:11 by Caleb
Afternoon, all

The Meshes Tut is now up (Here) . I've also uploaded all of the DX8 include files.:alright:

Afternoon, Caleb.

Thx for the include files. I've started adjusting and combining them with my own include files. You've done a great job.:alright:

Cheers,
Scronty
Posted on 2001-08-07 03:47:53 by Scronty
Hi Scronty !

'thanx' for your reply ! What are your planes for the future and directx ?

I'd just finished my FPU-macros for vector-algebra and the inline-codes of some D3DX8Math-functions, but not I have not tested them yet, because there is an oral examination in the next days :confused:

Then I'will go to code a faster local-memory-handling (a bit like that in delphi). (I haven't got any useful yet :o )
After my examination I plan to translate some of the DXUtils and D3DUtils, because they are needed in the further examples of DirectX8. (I don't know if there are any good DirectSound and DirectMusic translations and what changes directx8 made, so it seems that there is much to do.)

When you've combined my files with your ones, send them to me please. It's worth to have a common base ! (and I'm not sure having translated all the macros correctly :rolleyes: )

That's all this time, bye and greetings,

CALEB
Posted on 2001-08-07 08:44:09 by Caleb
Afternoon, Caleb.

Those samples of M$ are a real headache!:grin:

I'm looking into using fonts with Dx8. It's about time we start displaying info on the screen (e.g. framerate, DOB, shoe size, etc):)

Would you believe it? M$ doesn't seem to use its' 'D3DXCreateFont' function anywhere!:mad:

With regards to the macros; the only way we'll find out which ones are correct or not is to either use them in a proggy, or have someone notice any mistakes and inform us.:grin:

Cheers,
Scronty
Posted on 2001-08-08 01:56:11 by Scronty
Afternoon, all.

This thread seems to be getting a bit long:grin:.

I've chucked another example (Here). It uses the 'D3DXCreateFont' function to create a basic font.

These examples aren't very good for use in a game (they'd need a lot of redesigning to be of any use). However, they will be useful when enough examples are created so that a 'Game Object IDE' could be developed.:alright: (sheesh! Did I say that the M$ samples were a headache? :grin: ).

Oh, well. Wishful thinking on my part. (until the next update;) )

Cheers,
Scronty
Posted on 2001-08-09 01:55:17 by Scronty
Afternoon, all.

Yet another example (Here).

This one displays text in 3D. It creates a mesh from a font.

Cheers,
Scronty
Posted on 2001-08-14 01:29:20 by Scronty
Afternoon, all.

Another example (Here) .

This is an example of 'picking' a face from a mesh. It's similar to the 'Pick' example in the P/SDK except that it only allows you to pick one face at a time; however, it's been improved so that you can pick a face with the mesh at any angle (which the P/SDK example doesn't do).:alright:

Cheers,
Scronty
Posted on 2001-08-15 09:12:16 by Scronty
Afternoon, all.

Another example (Here).

This one is an example of displaying multiple views of the same object.:alright:

Cheers,
Scronty
Posted on 2001-08-19 04:51:38 by Scronty
Im new here and I hate C++... where can I find information on how to convert code from C++ to MASM32 like you are doing?
Posted on 2001-08-22 12:00:19 by closed_casket
I don't want to make too much words so take the includes from this thread and compare them to the standard c includes from microsoft. or take a look at Scronty's homepage. In his examples he left the original c++ code as comments ..!

Greetings, CALEB
Posted on 2001-08-22 17:02:57 by Caleb
Hi again !

Here is my first official alpha-release of the D3DX8MATH_FKT.DEF includefile which is a part of my D3DX8-includes. They are still buggy and the macros doesn't assemble in all cases (I have to learn some more about using parameters in macros :confused: ) but nevertheless most used functions work. The file includes the inline-functions declared in the D3DX8Math.h - file as macros and many usefull linear algebra (well there is a leck of matrices-functions like inversion, linear-equation-solving, etc (will follow !)

Get the rest from the file ..!

Greetings, CALEB

P.S: Hey Scronty, I think this thread blows up, so let us open a new one to handle our examples and questions ...
Posted on 2001-08-22 17:14:06 by Caleb
Guys I have this asm file from the D3dX8 .inc files I have that has some of the math functions in it. Maybe they will save you some work?
Posted on 2001-08-23 17:23:31 by [=CC=]AMBUSH
Quick question CALEB...

Why:
__D3DXMatrix3By3Identity dd 9 dup ( D3DX_1, D3DX_0, D3DX_0, \
D3DX_0, D3DX_1, D3DX_0, \
D3DX_0, D3DX_0, D3DX_1 )

Not sure, but I think you don't need to dup that. Also, probably you could make it an equate instead so it doesn't add extra uneeded data to the segment. (Am I wrong?)
Posted on 2001-08-24 14:25:30 by Kenny
Hi Ambush !

The fact I've did this this way is that there isn't a 3x3-matrix-type defined, so I store it as an array of dwords (because of dword and real4 have the same size - instead of dd I could have used Float or Real4, too, but the hell knows why I havn't ... - and, damned too, your are right, the dup isn't really needed here !)

I had stored this in the data-section because I didn't know how to realize a MOV eax, DWORD (x.yf) typecast without putting inline byte-code and sequences of fld1 / fldz, fstp are slower and change fpu-states.

Also it's easier to check a matrix if it is identity by comparing memory blocks instead of loading each value and check it one by one.

Well, and it's all alpha-state, but I will thank for every updated version send back to me ...

Greetings, CALEB
Posted on 2001-08-24 15:48:03 by Caleb
Hi !

I've translated my INCLUDES to COINVOKE-conform ones. You can get the package at:

http://people.freenet.de/CalebsSite

It includes all necessary files (dll, lib, inc) for the d3d8-api !

Greetings, CALEB
Posted on 2001-09-06 08:38:11 by Caleb