refactor(component): vehicle physics (46) and physics system (47) are physics components

As in the client, where both use LWOBasePhysComponent's functions (projectile
physics, 18, does not and stays a plain component). They now answer the
object's position like the other physics components (their LOTs have no other
physics); nothing they send changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-10-01 11:56:49 -05:00
parent d786290803
commit ab8b944f2f
2 changed files with 16 additions and 8 deletions

View File

@@ -1,17 +1,21 @@
#ifndef PHYSICSSYSTEMCOMPONENT_H
#define PHYSICSSYSTEMCOMPONENT_H
#include "Component.h"
#include "Entity.h"
#include "PhysicsComponent.h"
#include "eReplicaComponentType.h"
/**
* Physics system, as the client's physics system component makes it from the registry. Nothing of it is sent or done on the server yet.
* Physics system, as the client's physics system component makes it from the registry; like the client's, a physics component (LWOBasePhysComponent). Nothing of it is sent or done on the server yet.
*/
class PhysicsSystemComponent final : public Component {
class PhysicsSystemComponent final : public PhysicsComponent {
public:
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::PHYSICS_SYSTEM;
PhysicsSystemComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
PhysicsSystemComponent(Entity* parent, const int32_t componentID) : PhysicsComponent(parent, componentID) {
m_Position = m_Parent->GetDefaultPosition();
m_Rotation = m_Parent->GetDefaultRotation();
}
};
#endif // PHYSICSSYSTEMCOMPONENT_H

View File

@@ -1,17 +1,21 @@
#ifndef VEHICLEPHYSICSCOMPONENT_H
#define VEHICLEPHYSICSCOMPONENT_H
#include "Component.h"
#include "Entity.h"
#include "PhysicsComponent.h"
#include "eReplicaComponentType.h"
/**
* Vehicle physics (not the havok vehicle physics, 30), as LWOVehiclePhysicsComponent makes it from the registry. Nothing of it is sent or done on the server yet.
* Vehicle physics (not the havok vehicle physics, 30), as LWOVehiclePhysicsComponent makes it from the registry; like the client's, a physics component (LWOBasePhysComponent). Nothing of it is sent or done on the server yet.
*/
class VehiclePhysicsComponent final : public Component {
class VehiclePhysicsComponent final : public PhysicsComponent {
public:
static constexpr eReplicaComponentType ComponentType = eReplicaComponentType::VEHICLE_PHYSICS;
VehiclePhysicsComponent(Entity* parent, const int32_t componentID) : Component(parent, componentID) {}
VehiclePhysicsComponent(Entity* parent, const int32_t componentID) : PhysicsComponent(parent, componentID) {
m_Position = m_Parent->GetDefaultPosition();
m_Rotation = m_Parent->GetDefaultRotation();
}
};
#endif // VEHICLEPHYSICSCOMPONENT_H