> I'm not fully understanding how the hell someone can deal with 'float *'
> and treat them as vectors, and get them to actually work. I found a
> particle system tutorial, written by TheTinySteini. I wrote a new function
> that takes a parameter ('float *origin'), and uses that in determining the
> origin of the particle. When that function gets called, the actual position
> ends up to be something like: -59237234, 1045868234, 0 and I can't figure
> out why. The parameter it passes is pTrace->endpos, I used that endpos
> vector when I used R_TempSprite's to do the smoke puffs of bullets, it
> worked fine with that. Now that I'm trying to use particles, the origin
> isn't passed right... any ideas?

The Vector class is defined as an array of 3 floats.  This array of 3 floats
also is unioned with x, y, and z.  Therefore if you have a Vector v...

v[0] = v.x;
v[1] = v.y;
v[2] = v.z;

You can also access this Vector as a pointer to float(s).  If you pass in
"float *p" to a function, you can access the x, y and z values of the Vector
using *p, *(p+1), *(p+2), which is the same as p[0], p[1], p[2] to a C or C++
compiler.

Jeffrey "botman" Broome

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to