are you going for a point rotational effect from the top?
might just be me, but that stupid - both math wise and effect wise
what you need to do is setup simple upward rotational code based upon a set point like so ->
`// place this before main loop
radius# = 15.0
fAngY# = 180.0
`// Rotational Vector 1.0
function RotVec3( fAngXY#,fAngY#,fRadius#, fVecX#,fVecY#,fVecZ# )
fVecY# = sin( fAngY# ) * fRadius#
fVecX# = ( cos( fAngXY#, ) * fRadius# ) * cos( fAngY# )
fVecZ# = ( sin( fAngXY#, ) * fRadius# ) * cos( fAngY# )
vBitReturn = int( fVecX# + BitLeft( fVecY#,8 ) + BitLeft( fVecZ#,16 ) + BitLeft( fAngY#,24 ) )
endfunction vBitReturn
`// bitshift 1.1
function bitRight( vValue, vStep )
vExport = vValue /( 2^vStep )
endfunction vExport
function bitLeft( vValue, vStep )
vExport = vValue *( 2^vStep )
endfunction vExport
all you do is update the fAngXY# with the actual rotation angle, and the positions fVec X#,Y#,Z# - which are the positions for the overall, so i'd suggest for this kinda thing have X#, Z# global for the effect, however keep Y# for each particle seperate
remember it exports 4 values which are in dword form,
x,y,z,angle
have a little play see if you like it, if not i'm sure there are a million and one ways to achieve what you want
Anata aru kowagaru no watashi!