| 729 | void CExplosive::GetExplosionBox(Fvector& size) { size.set(m_vExplodeSize); } |
| 730 | void CExplosive::SetExplosionSize(const Fvector& new_size) { m_vExplodeSize.set(new_size); } |
| 731 | void CExplosive::ActivateExplosionBox(const Fvector& size, Fvector& in_out_pos) |
| 732 | { |
| 733 | CPhysicsShellHolder* self_obj = smart_cast<CPhysicsShellHolder*>(cast_game_object()); |
| 734 | CPhysicsShell* self_shell = self_obj->PPhysicsShell(); |
| 735 | if (self_shell && self_shell->isActive()) |
| 736 | self_shell->DisableCollision(); |
| 737 | CPHActivationShape activation_shape; // Fvector start_box;m_PhysicMovementControl.Box().getsize(start_box); |
| 738 | activation_shape.Create(in_out_pos, size, self_obj); |
| 739 | dBodySetGravityMode(activation_shape.ODEBody(), 0); |
| 740 | activation_shape.Activate(size, 1, 1.f, M_PI / 8.f); |
| 741 | in_out_pos.set(activation_shape.Position()); |
| 742 | activation_shape.Size(m_vExplodeSize); |
| 743 | activation_shape.Destroy(); |
| 744 | if (self_shell && self_shell->isActive()) |
| 745 | self_shell->EnableCollision(); |
| 746 | } |
| 747 | void CExplosive::net_Relcase(CObject* O) |
| 748 | { |
| 749 | if (O->ID() == m_iCurrentParentID) |
nothing calls this directly
no test coverage detected