Added SetActorShapeEx()
This commit is contained in:
4
doc/files/setactorshapeex.txt
Normal file
4
doc/files/setactorshapeex.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
#title SetActorShapeEx [RCBasic Doc]
|
||||
#header sub SetActorShapeEx( actor, shape_type, mass, radius)
|
||||
|
||||
|
||||
@@ -797,6 +797,7 @@ rc_setActorSleepState( SETACTORSLEEPSTATE_ACTOR, SETACTORSLEEPSTATE_STATE )
|
||||
rc_castRay3D( CASTRAY3D_FROM_X, CASTRAY3D_FROM_Y, CASTRAY3D_FROM_Z, CASTRAY3D_TO_X, CASTRAY3D_TO_Y, CASTRAY3D_TO_Z )
|
||||
rc_castRay3D_All( CASTRAY3D_ALL_FROM_X, CASTRAY3D_ALL_FROM_Y, CASTRAY3D_ALL_FROM_Z, CASTRAY3D_ALL_TO_X, CASTRAY3D_ALL_TO_Y, CASTRAY3D_ALL_TO_Z )
|
||||
rc_getRayHit3D( GETRAYHIT3D_INDEX, &GETRAYHIT3D_ACTOR_ID, &GETRAYHIT3D_X, &GETRAYHIT3D_Y, &GETRAYHIT3D_Z, &GETRAYHIT3D_NORMAL_X, &GETRAYHIT3D_NORMAL_Y, &GETRAYHIT3D_NORMAL_Z )
|
||||
rc_setActorCollisionShape( SETACTORSHAPEEX_ACTOR, SETACTORSHAPEEX_SHAPE_TYPE, SETACTORSHAPEEX_MASS, SETACTORSHAPEEX_RADIUS )
|
||||
rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA )
|
||||
rc_createPointConstraintEx( CREATEPOINTCONSTRAINTEX_ACTORA, CREATEPOINTCONSTRAINTEX_ACTORB, CREATEPOINTCONSTRAINTEX_PXA, CREATEPOINTCONSTRAINTEX_PYA, CREATEPOINTCONSTRAINTEX_PZA, CREATEPOINTCONSTRAINTEX_PXB, CREATEPOINTCONSTRAINTEX_PYB, CREATEPOINTCONSTRAINTEX_PZB )
|
||||
rc_setPointPivotA( SETPOINTPIVOTA_CONSTRAINT_ID, SETPOINTPIVOTA_X, SETPOINTPIVOTA_Y, SETPOINTPIVOTA_Z )
|
||||
|
||||
@@ -60,3 +60,4 @@ sub SetActorSleepState(actor, state)
|
||||
function CastRay3D( from_x, from_y, from_z, to_x, to_y, to_z )
|
||||
function CastRay3D_All( from_x, from_y, from_z, to_x, to_y, to_z )
|
||||
sub GetRayHit3D( index, ByRef actor_id, ByRef x, ByRef y, ByRef z, ByRef normal_x, ByRef normal_y, ByRef normal_z )
|
||||
sub SetActorShapeEx( actor, shape_type, mass, radius)
|
||||
|
||||
@@ -2531,6 +2531,11 @@ void init_embedded_functions()
|
||||
add_embedded_arg("normal_x", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_y", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_z", ID_TYPE_BYREF_NUM);
|
||||
embed_function("SetActorShapeEx", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("shape_type", ID_TYPE_NUM);
|
||||
add_embedded_arg("mass", ID_TYPE_NUM);
|
||||
add_embedded_arg("radius", ID_TYPE_NUM);
|
||||
embed_function("createPointConstraint", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actorA", ID_TYPE_NUM);
|
||||
add_embedded_arg("pxA", ID_TYPE_NUM);
|
||||
|
||||
Binary file not shown.
@@ -2075,6 +2075,15 @@ add_embedded_arg("max_y", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("max_z", ID_TYPE_BYREF_NUM);
|
||||
embed_function("ReCalculateMeshBoundingBox", ID_TYPE_SUB);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("MakePlanarTextureMap", ID_TYPE_SUB);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
add_embedded_arg("resolution", ID_TYPE_NUM);
|
||||
embed_function("ReCalculateMeshNormals", ID_TYPE_SUB);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("GetMeshPolygonCount", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("FlipMeshSurfaces", ID_TYPE_SUB);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("CreateAnimatedActor", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("mesh", ID_TYPE_NUM);
|
||||
embed_function("CreateOctreeActor", ID_TYPE_FN_NUM);
|
||||
@@ -2516,6 +2525,11 @@ add_embedded_arg("z", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_x", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_y", ID_TYPE_BYREF_NUM);
|
||||
add_embedded_arg("normal_z", ID_TYPE_BYREF_NUM);
|
||||
embed_function("SetActorShapeEx", ID_TYPE_SUB);
|
||||
add_embedded_arg("actor", ID_TYPE_NUM);
|
||||
add_embedded_arg("shape_type", ID_TYPE_NUM);
|
||||
add_embedded_arg("mass", ID_TYPE_NUM);
|
||||
add_embedded_arg("radius", ID_TYPE_NUM);
|
||||
embed_function("createPointConstraint", ID_TYPE_FN_NUM);
|
||||
add_embedded_arg("actorA", ID_TYPE_NUM);
|
||||
add_embedded_arg("pxA", ID_TYPE_NUM);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2093,6 +2093,18 @@ case FN_GetMeshBoundingBox: //Sub Procedure
|
||||
case FN_ReCalculateMeshBoundingBox: //Sub Procedure
|
||||
rc_reCalculateMeshBoundingBox( RECALCULATEMESHBOUNDINGBOX_MESH );
|
||||
break;
|
||||
case FN_MakePlanarTextureMap: //Sub Procedure
|
||||
rc_makePlanarTextureMap( MAKEPLANARTEXTUREMAP_MESH, MAKEPLANARTEXTUREMAP_RESOLUTION );
|
||||
break;
|
||||
case FN_ReCalculateMeshNormals: //Sub Procedure
|
||||
rc_reCalculateMeshNormals( RECALCULATEMESHNORMALS_MESH );
|
||||
break;
|
||||
case FN_GetMeshPolygonCount: //Number Function
|
||||
rc_push_num(rc_getMeshPolygonCount( GETMESHPOLYGONCOUNT_MESH ));
|
||||
break;
|
||||
case FN_FlipMeshSurfaces: //Sub Procedure
|
||||
rc_flipMeshSurfaces( FLIPMESHSURFACES_MESH );
|
||||
break;
|
||||
case FN_CreateAnimatedActor: //Number Function
|
||||
rc_push_num(rc_createAnimatedActor( CREATEANIMATEDACTOR_MESH ));
|
||||
break;
|
||||
@@ -2411,6 +2423,9 @@ case FN_CastRay3D_All: //Number Function
|
||||
case FN_GetRayHit3D: //Sub Procedure
|
||||
rc_getRayHit3D( GETRAYHIT3D_INDEX, &GETRAYHIT3D_ACTOR_ID, &GETRAYHIT3D_X, &GETRAYHIT3D_Y, &GETRAYHIT3D_Z, &GETRAYHIT3D_NORMAL_X, &GETRAYHIT3D_NORMAL_Y, &GETRAYHIT3D_NORMAL_Z );
|
||||
break;
|
||||
case FN_SetActorShapeEx: //Sub Procedure
|
||||
rc_setActorCollisionShape( SETACTORSHAPEEX_ACTOR, SETACTORSHAPEEX_SHAPE_TYPE, SETACTORSHAPEEX_MASS, SETACTORSHAPEEX_RADIUS );
|
||||
break;
|
||||
case FN_createPointConstraint: //Number Function
|
||||
rc_push_num(rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA ));
|
||||
break;
|
||||
|
||||
@@ -17,7 +17,7 @@ void setSolidProperties(int actor)
|
||||
}
|
||||
}
|
||||
|
||||
void rc_setActorCollisionShape(int actor_id, int shape_type, double mass)
|
||||
void rc_setActorCollisionShape(int actor_id, int shape_type, double mass, double radius=-1)
|
||||
{
|
||||
//std::cout << "Start ColShape" << std::endl;
|
||||
if(rc_actor[actor_id].physics.rigid_body)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2423,6 +2423,9 @@ case FN_CastRay3D_All: //Number Function
|
||||
case FN_GetRayHit3D: //Sub Procedure
|
||||
rc_getRayHit3D( GETRAYHIT3D_INDEX, &GETRAYHIT3D_ACTOR_ID, &GETRAYHIT3D_X, &GETRAYHIT3D_Y, &GETRAYHIT3D_Z, &GETRAYHIT3D_NORMAL_X, &GETRAYHIT3D_NORMAL_Y, &GETRAYHIT3D_NORMAL_Z );
|
||||
break;
|
||||
case FN_SetActorShapeEx: //Sub Procedure
|
||||
rc_setActorCollisionShape( SETACTORSHAPEEX_ACTOR, SETACTORSHAPEEX_SHAPE_TYPE, SETACTORSHAPEEX_MASS, SETACTORSHAPEEX_RADIUS );
|
||||
break;
|
||||
case FN_createPointConstraint: //Number Function
|
||||
rc_push_num(rc_createPointConstraint( CREATEPOINTCONSTRAINT_ACTORA, CREATEPOINTCONSTRAINT_PXA, CREATEPOINTCONSTRAINT_PYA, CREATEPOINTCONSTRAINT_PZA ));
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user