| 2958 | } |
| 2959 | |
| 2960 | static void CDrawHead(MovementObject* mo, const BoneTransform& chest_transform, const BoneTransform& head_transform, int num_frames) { |
| 2961 | PROFILER_ZONE(g_profiler_ctx, "C++ Draw Head") |
| 2962 | MovementObject& this_mo = *mo; |
| 2963 | RiggedObject& rigged_object = *this_mo.rigged_object(); |
| 2964 | Skeleton& skeleton = rigged_object.skeleton(); |
| 2965 | |
| 2966 | PROFILER_ENTER(g_profiler_ctx, "Get AS pointers"); |
| 2967 | ASContext* as_context = this_mo.as_context.get(); |
| 2968 | float& breath_amount = *(float*)as_context->module.GetVarPtrCache("breath_amount"); |
| 2969 | |
| 2970 | CScriptArrayWrapper<BoneTransform> key_transforms((CScriptArray*)as_context->module.GetVarPtrCache("key_transforms")); |
| 2971 | CScriptArrayWrapper<BoneTransform> inv_skeleton_bind_transforms((CScriptArray*)as_context->module.GetVarPtrCache("inv_skeleton_bind_transforms")); |
| 2972 | CScriptArrayWrapper<int> ik_chain_start_index((CScriptArray*)as_context->module.GetVarPtrCache("ik_chain_start_index")); |
| 2973 | CScriptArrayWrapper<int> ik_chain_elements((CScriptArray*)as_context->module.GetVarPtrCache("ik_chain_elements")); |
| 2974 | CScriptArrayWrapper<int> bone_children((CScriptArray*)as_context->module.GetVarPtrCache("bone_children")); |
| 2975 | CScriptArrayWrapper<int> bone_children_index((CScriptArray*)as_context->module.GetVarPtrCache("bone_children_index")); |
| 2976 | PROFILER_LEAVE(g_profiler_ctx); |
| 2977 | |
| 2978 | CDrawHeadImpl( |
| 2979 | rigged_object, skeleton, |
| 2980 | breath_amount, |
| 2981 | key_transforms, inv_skeleton_bind_transforms, ik_chain_start_index, ik_chain_elements, bone_children, bone_children_index, |
| 2982 | chest_transform, head_transform); |
| 2983 | } |
| 2984 | |
| 2985 | static void CDrawBodyImpl( |
| 2986 | RiggedObject& rigged_object, |
nothing calls this directly
no test coverage detected