Added new vector math functions

This commit is contained in:
n00b87
2026-02-22 23:07:53 -06:00
parent c4d559f0d4
commit 902f0129f1
16 changed files with 2782 additions and 2270 deletions

View File

@@ -53,6 +53,14 @@ Distance2D( DISTANCE2D_X1, DISTANCE2D_Y1, DISTANCE2D_X2, DISTANCE2D_Y2 )
Distance3D( DISTANCE3D_X1, DISTANCE3D_Y1, DISTANCE3D_Z1, DISTANCE3D_X2, DISTANCE3D_Y2, DISTANCE3D_Z2 )
GetCircleLineIntersection( GETCIRCLELINEINTERSECTION_CIRCLE_X, GETCIRCLELINEINTERSECTION_CIRCLE_Y, GETCIRCLELINEINTERSECTION_RADIUS, GETCIRCLELINEINTERSECTION_X1, GETCIRCLELINEINTERSECTION_Y1, GETCIRCLELINEINTERSECTION_X2, GETCIRCLELINEINTERSECTION_Y2, &GETCIRCLELINEINTERSECTION_IX1, &GETCIRCLELINEINTERSECTION_IY1, &GETCIRCLELINEINTERSECTION_IX2, &GETCIRCLELINEINTERSECTION_IY2 )
GetLinePlaneIntersection( &GETLINEPLANEINTERSECTION_LINE_POINT, &GETLINEPLANEINTERSECTION_LINE_DIRECTION, &GETLINEPLANEINTERSECTION_PLANE_POINT_1, &GETLINEPLANEINTERSECTION_PLANE_POINT_2, &GETLINEPLANEINTERSECTION_PLANE_POINT_3, &GETLINEPLANEINTERSECTION_INTERSECTION )
rc_getLineAngle( GETLINEANGLE_X1, GETLINEANGLE_Y1, GETLINEANGLE_X2, GETLINEANGLE_Y2 )
rc_dotProduct( DOTPRODUCT_X1, DOTPRODUCT_Y1, DOTPRODUCT_Z1, DOTPRODUCT_X2, DOTPRODUCT_Y2, DOTPRODUCT_Z2 )
rc_interpolateVector( INTERPOLATEVECTOR_X1, INTERPOLATEVECTOR_Y1, INTERPOLATEVECTOR_Z1, INTERPOLATEVECTOR_X2, INTERPOLATEVECTOR_Y2, INTERPOLATEVECTOR_Z2, INTERPOLATEVECTOR_DISTANCE, &INTERPOLATEVECTOR_IX, &INTERPOLATEVECTOR_IY, &INTERPOLATEVECTOR_IZ )
rc_interpolateVectorQ( INTERPOLATEVECTORQ_X1, INTERPOLATEVECTORQ_Y1, INTERPOLATEVECTORQ_Z1, INTERPOLATEVECTORQ_X2, INTERPOLATEVECTORQ_Y2, INTERPOLATEVECTORQ_Z2, INTERPOLATEVECTORQ_X3, INTERPOLATEVECTORQ_Y3, INTERPOLATEVECTORQ_Z3, INTERPOLATEVECTORQ_DISTANCE, &INTERPOLATEVECTORQ_IX, &INTERPOLATEVECTORQ_IY, &INTERPOLATEVECTORQ_IZ )
rc_vectorIsBetweenPoints( VECTORISBETWEENPOINTS_X, VECTORISBETWEENPOINTS_Y, VECTORISBETWEENPOINTS_Z, VECTORISBETWEENPOINTS_START_X, VECTORISBETWEENPOINTS_START_Y, VECTORISBETWEENPOINTS_START_Z, VECTORISBETWEENPOINTS_END_X, VECTORISBETWEENPOINTS_END_Y, VECTORISBETWEENPOINTS_END_Z )
rc_normalizeVector( NORMALIZEVECTOR_X, NORMALIZEVECTOR_Y, NORMALIZEVECTOR_Z, &NORMALIZEVECTOR_NX, &NORMALIZEVECTOR_NY, &NORMALIZEVECTOR_NZ )
rc_getHorizontalAngle( GETHORIZONTALANGLE_X, GETHORIZONTALANGLE_Y, GETHORIZONTALANGLE_Z, &GETHORIZONTALANGLE_HX, &GETHORIZONTALANGLE_HY, &GETHORIZONTALANGLE_HZ )
rc_getRotationToTarget( GETROTATIONTOTARGET_X, GETROTATIONTOTARGET_Y, GETROTATIONTOTARGET_Z, GETROTATIONTOTARGET_TGT_X, GETROTATIONTOTARGET_TGT_Y, GETROTATIONTOTARGET_TGT_Z, &GETROTATIONTOTARGET_RX, &GETROTATIONTOTARGET_RY, &GETROTATIONTOTARGET_RZ )
rc_intern_asc( ASC_C$ )
rc_intern_chr( CHR$_N )
rc_intern_insert( INSERT$_SRC$, INSERT$_TGT$, INSERT$_POS )
@@ -978,6 +986,8 @@ rc_pipeline_End( )
rc_pipeline_Render( )
rc_setPhysics3D( SETPHYSICS3D_FLAG )
rc_getPhysics3D( )
rc_getBillboardSize( GETBILLBOARDSIZE_ACTOR, &GETBILLBOARDSIZE_W, &GETBILLBOARDSIZE_H )
rc_setBillboardSize( SETBILLBOARDSIZE_ACTOR, SETBILLBOARDSIZE_W, SETBILLBOARDSIZE_H )
rc_startParticleEmitter( STARTPARTICLEEMITTER_ACTOR )
rc_stopParticleEmitter( STOPPARTICLEEMITTER_ACTOR )
rc_setParticleDirection( SETPARTICLEDIRECTION_ACTOR, SETPARTICLEDIRECTION_X, SETPARTICLEDIRECTION_Y, SETPARTICLEDIRECTION_Z )