mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-22 21:47:24 +00:00
update component names, document heirarchy
This commit is contained in:
parent
9e9e4dc087
commit
d11e2db887
@ -11,14 +11,14 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
CHARACTER,
|
CHARACTER,
|
||||||
SCRIPT,
|
SCRIPT,
|
||||||
BOUNCER,
|
BOUNCER,
|
||||||
BUFF, // buff is really 98, this is DESTROYABLE
|
DESTROYABLE,
|
||||||
GHOST,
|
GHOST,
|
||||||
SKILL,
|
SKILL,
|
||||||
SPAWNER,
|
SPAWN,
|
||||||
ITEM,
|
ITEM,
|
||||||
REBUILD,
|
MODULAR_BUILD,
|
||||||
REBUILD_START,
|
BUILD_CONTROLLER,
|
||||||
REBUILD_ACTIVATOR,
|
BUILD_ACTIVATOR,
|
||||||
ICON_ONLY,
|
ICON_ONLY,
|
||||||
VENDOR,
|
VENDOR,
|
||||||
INVENTORY,
|
INVENTORY,
|
||||||
@ -33,8 +33,8 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
PET,
|
PET,
|
||||||
PLATFORM_BOUNDARY,
|
PLATFORM_BOUNDARY,
|
||||||
MODULE,
|
MODULE,
|
||||||
ARCADE,
|
JETPACKPAD,
|
||||||
VEHICLE_PHYSICS, // Havok demo based
|
HAVOK_VEHICLE_PHYSICS,
|
||||||
MOVEMENT_AI,
|
MOVEMENT_AI,
|
||||||
EXHIBIT,
|
EXHIBIT,
|
||||||
OVERHEAD_ICON,
|
OVERHEAD_ICON,
|
||||||
@ -46,23 +46,23 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
SCRIPTED_ACTIVITY,
|
SCRIPTED_ACTIVITY,
|
||||||
PHANTOM_PHYSICS,
|
PHANTOM_PHYSICS,
|
||||||
SPRINGPAD,
|
SPRINGPAD,
|
||||||
MODEL,
|
MODEL_BEHAVIOR,
|
||||||
PROPERTY_ENTRANCE,
|
PROPERTY_ENTRANCE,
|
||||||
FX,
|
FX,
|
||||||
PROPERTY_MANAGEMENT,
|
PROPERTY_MANAGEMENT,
|
||||||
VEHICLE_PHYSICS_NEW, // internal physics based on havok
|
VEHICLE_PHYSICS,
|
||||||
PHYSICS_SYSTEM,
|
PHYSICS_SYSTEM,
|
||||||
QUICK_BUILD,
|
QUICK_BUILD,
|
||||||
SWITCH,
|
SWITCH,
|
||||||
ZONE_CONTROL, // Minigame
|
MINIGAME_CONTROL,
|
||||||
CHANGLING,
|
CHANGLING_BUILD,
|
||||||
CHOICE_BUILD,
|
CHOICE_BUILD,
|
||||||
PACKAGE,
|
PACKAGE,
|
||||||
SOUND_REPEATER,
|
SOUND_REPEATER,
|
||||||
SOUND_AMBIENT_2D,
|
SOUND_AMBIENT_2D,
|
||||||
SOUND_AMBIENT_3D,
|
SOUND_AMBIENT_3D,
|
||||||
PRECONDITION,
|
PRECONDITION,
|
||||||
PLAYER_FLAG,
|
FLAG,
|
||||||
CUSTOM_BUILD_ASSEMBLY,
|
CUSTOM_BUILD_ASSEMBLY,
|
||||||
BASE_COMBAT_AI,
|
BASE_COMBAT_AI,
|
||||||
MODULE_ASSEMBLY,
|
MODULE_ASSEMBLY,
|
||||||
@ -71,8 +71,8 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
GENERIC_ACTIVATOR,
|
GENERIC_ACTIVATOR,
|
||||||
PROPERTY_VENDOR,
|
PROPERTY_VENDOR,
|
||||||
HF_LIGHT_DIRECTION_GADGET,
|
HF_LIGHT_DIRECTION_GADGET,
|
||||||
ROCKET_LAUNCH,
|
ROCKET_LAUNCHPAD_CONTROL,
|
||||||
ROCKET_LANDING,
|
ROCKET_ANIMATION_CONTROL,
|
||||||
TRIGGER,
|
TRIGGER,
|
||||||
DROPPED_LOOT,
|
DROPPED_LOOT,
|
||||||
RACING_CONTROL,
|
RACING_CONTROL,
|
||||||
@ -84,7 +84,7 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
SOUND_TRIGGER,
|
SOUND_TRIGGER,
|
||||||
PROXIMITY_MONITOR,
|
PROXIMITY_MONITOR,
|
||||||
RACING_SOUND_TRIGGER,
|
RACING_SOUND_TRIGGER,
|
||||||
CHAT,
|
CHAT_BUBBLE,
|
||||||
FRIENDS_LIST,
|
FRIENDS_LIST,
|
||||||
GUILD,
|
GUILD,
|
||||||
LOCAL_SYSTEM,
|
LOCAL_SYSTEM,
|
||||||
@ -101,12 +101,12 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
TRADE,
|
TRADE,
|
||||||
USER_CONTROL,
|
USER_CONTROL,
|
||||||
IGNORE_LIST,
|
IGNORE_LIST,
|
||||||
ROCKET_LAUNCH_LUP,
|
MULTI_ZONE_ENTRANCE,
|
||||||
BUFF_REAL, // the real buff component, should just be name BUFF
|
BUFF,
|
||||||
INTERACTION_MANAGER,
|
INTERACTION_MANAGER,
|
||||||
DONATION_VENDOR,
|
DONATION_VENDOR,
|
||||||
COMBAT_MEDIATOR,
|
COMBAT_MEDIATOR,
|
||||||
COMMENDATION_VENDOR,
|
ACHIEVEMENT_VENDOR,
|
||||||
GATE_RUSH_CONTROL,
|
GATE_RUSH_CONTROL,
|
||||||
RAIL_ACTIVATOR,
|
RAIL_ACTIVATOR,
|
||||||
ROLLER,
|
ROLLER,
|
||||||
@ -121,8 +121,7 @@ enum class eReplicaComponentType : uint32_t {
|
|||||||
BUILD_BORDER,
|
BUILD_BORDER,
|
||||||
UNKNOWN_115,
|
UNKNOWN_115,
|
||||||
CULLING_PLANE,
|
CULLING_PLANE,
|
||||||
NUMBER_OF_COMPONENTS,
|
NUMBER_OF_COMPONENTS
|
||||||
DESTROYABLE = 1000 // Actually 7
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //!__EREPLICACOMPONENTTYPE__H__
|
#endif //!__EREPLICACOMPONENTTYPE__H__
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "Component.h"
|
#include "Component.h"
|
||||||
#include "ControllablePhysicsComponent.h"
|
#include "ControllablePhysicsComponent.h"
|
||||||
#include "RenderComponent.h"
|
#include "RenderComponent.h"
|
||||||
#include "RocketLaunchLupComponent.h"
|
#include "MultiZoneEntranceComponent.h"
|
||||||
#include "CharacterComponent.h"
|
#include "CharacterComponent.h"
|
||||||
#include "DestroyableComponent.h"
|
#include "DestroyableComponent.h"
|
||||||
#include "BuffComponent.h"
|
#include "BuffComponent.h"
|
||||||
@ -58,10 +58,10 @@
|
|||||||
#include "PropertyVendorComponent.h"
|
#include "PropertyVendorComponent.h"
|
||||||
#include "ProximityMonitorComponent.h"
|
#include "ProximityMonitorComponent.h"
|
||||||
#include "PropertyEntranceComponent.h"
|
#include "PropertyEntranceComponent.h"
|
||||||
#include "ModelComponent.h"
|
#include "ModelBehaviorComponent.h"
|
||||||
#include "ZCompression.h"
|
#include "ZCompression.h"
|
||||||
#include "PetComponent.h"
|
#include "PetComponent.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
#include "HavokVehiclePhysicsComponent.h"
|
||||||
#include "PossessableComponent.h"
|
#include "PossessableComponent.h"
|
||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
#include "ModuleAssemblyComponent.h"
|
#include "ModuleAssemblyComponent.h"
|
||||||
@ -148,21 +148,21 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::BOUNCER:
|
case eReplicaComponentType::BOUNCER:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::BUFF:
|
case eReplicaComponentType::DESTROYABLE:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::GHOST:
|
case eReplicaComponentType::GHOST:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::SKILL:
|
case eReplicaComponentType::SKILL:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::SPAWNER:
|
case eReplicaComponentType::SPAWN:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ITEM:
|
case eReplicaComponentType::ITEM:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::REBUILD:
|
case eReplicaComponentType::MODULAR_BUILD:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::REBUILD_START:
|
case eReplicaComponentType::BUILD_CONTROLLER:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::REBUILD_ACTIVATOR:
|
case eReplicaComponentType::BUILD_ACTIVATOR:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ICON_ONLY:
|
case eReplicaComponentType::ICON_ONLY:
|
||||||
break;
|
break;
|
||||||
@ -192,9 +192,9 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::MODULE:
|
case eReplicaComponentType::MODULE:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ARCADE:
|
case eReplicaComponentType::JETPACKPAD:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::VEHICLE_PHYSICS:
|
case eReplicaComponentType::HAVOK_VEHICLE_PHYSICS:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::MOVEMENT_AI:
|
case eReplicaComponentType::MOVEMENT_AI:
|
||||||
break;
|
break;
|
||||||
@ -218,7 +218,7 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::SPRINGPAD:
|
case eReplicaComponentType::SPRINGPAD:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::MODEL:
|
case eReplicaComponentType::MODEL_BEHAVIOR:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::PROPERTY_ENTRANCE:
|
case eReplicaComponentType::PROPERTY_ENTRANCE:
|
||||||
break;
|
break;
|
||||||
@ -226,7 +226,7 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::PROPERTY_MANAGEMENT:
|
case eReplicaComponentType::PROPERTY_MANAGEMENT:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::VEHICLE_PHYSICS_NEW:
|
case eReplicaComponentType::VEHICLE_PHYSICS:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::PHYSICS_SYSTEM:
|
case eReplicaComponentType::PHYSICS_SYSTEM:
|
||||||
break;
|
break;
|
||||||
@ -234,9 +234,9 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::SWITCH:
|
case eReplicaComponentType::SWITCH:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ZONE_CONTROL:
|
case eReplicaComponentType::MINIGAME_CONTROL:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::CHANGLING:
|
case eReplicaComponentType::CHANGLING_BUILD:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::CHOICE_BUILD:
|
case eReplicaComponentType::CHOICE_BUILD:
|
||||||
break;
|
break;
|
||||||
@ -250,7 +250,7 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::PRECONDITION:
|
case eReplicaComponentType::PRECONDITION:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::PLAYER_FLAG:
|
case eReplicaComponentType::FLAG:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::CUSTOM_BUILD_ASSEMBLY:
|
case eReplicaComponentType::CUSTOM_BUILD_ASSEMBLY:
|
||||||
break;
|
break;
|
||||||
@ -268,9 +268,9 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::HF_LIGHT_DIRECTION_GADGET:
|
case eReplicaComponentType::HF_LIGHT_DIRECTION_GADGET:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ROCKET_LAUNCH:
|
case eReplicaComponentType::ROCKET_LAUNCHPAD_CONTROL:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ROCKET_LANDING:
|
case eReplicaComponentType::ROCKET_ANIMATION_CONTROL:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::TRIGGER:
|
case eReplicaComponentType::TRIGGER:
|
||||||
break;
|
break;
|
||||||
@ -294,7 +294,7 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::RACING_SOUND_TRIGGER:
|
case eReplicaComponentType::RACING_SOUND_TRIGGER:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::CHAT:
|
case eReplicaComponentType::CHAT_BUBBLE:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::FRIENDS_LIST:
|
case eReplicaComponentType::FRIENDS_LIST:
|
||||||
break;
|
break;
|
||||||
@ -328,9 +328,9 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::IGNORE_LIST:
|
case eReplicaComponentType::IGNORE_LIST:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::ROCKET_LAUNCH_LUP:
|
case eReplicaComponentType::MULTI_ZONE_ENTRANCE:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::BUFF_REAL:
|
case eReplicaComponentType::BUFF:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::INTERACTION_MANAGER:
|
case eReplicaComponentType::INTERACTION_MANAGER:
|
||||||
break;
|
break;
|
||||||
@ -338,7 +338,7 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::COMBAT_MEDIATOR:
|
case eReplicaComponentType::COMBAT_MEDIATOR:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::COMMENDATION_VENDOR:
|
case eReplicaComponentType::ACHIEVEMENT_VENDOR:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::GATE_RUSH_CONTROL:
|
case eReplicaComponentType::GATE_RUSH_CONTROL:
|
||||||
break;
|
break;
|
||||||
@ -370,8 +370,6 @@ void Entity::Initialize() {
|
|||||||
break;
|
break;
|
||||||
case eReplicaComponentType::NUMBER_OF_COMPONENTS:
|
case eReplicaComponentType::NUMBER_OF_COMPONENTS:
|
||||||
break;
|
break;
|
||||||
case eReplicaComponentType::DESTROYABLE:
|
|
||||||
break;
|
|
||||||
case eReplicaComponentType::INVALID:
|
case eReplicaComponentType::INVALID:
|
||||||
default:
|
default:
|
||||||
Game::logger->Log("Entity", "blah %i %i", componentId, m_TemplateID);
|
Game::logger->Log("Entity", "blah %i %i", componentId, m_TemplateID);
|
||||||
@ -483,7 +481,7 @@ void Entity::WriteBaseReplicaData(RakNet::BitStream* outBitStream, eReplicaPacke
|
|||||||
const auto& syncLDF = GetVar<std::vector<std::u16string>>(u"syncLDF");
|
const auto& syncLDF = GetVar<std::vector<std::u16string>>(u"syncLDF");
|
||||||
|
|
||||||
// Only sync for models.
|
// Only sync for models.
|
||||||
if (m_Settings.size() > 0 && (GetComponent<ModelComponent>() && !GetComponent<PetComponent>())) {
|
if (m_Settings.size() > 0 && (GetComponent<ModelBehaviorComponent>() && !GetComponent<PetComponent>())) {
|
||||||
outBitStream->Write1(); //ldf data
|
outBitStream->Write1(); //ldf data
|
||||||
|
|
||||||
RakNet::BitStream settingStream;
|
RakNet::BitStream settingStream;
|
||||||
@ -1216,7 +1214,7 @@ const NiPoint3& Entity::GetPosition() const {
|
|||||||
return simple->GetPosition();
|
return simple->GetPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehicle = GetComponent<VehiclePhysicsComponent>();
|
auto vehicle = GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
|
|
||||||
if (vehicle != nullptr) {
|
if (vehicle != nullptr) {
|
||||||
return vehicle->GetPosition();
|
return vehicle->GetPosition();
|
||||||
@ -1244,7 +1242,7 @@ const NiQuaternion& Entity::GetRotation() const {
|
|||||||
return simple->GetRotation();
|
return simple->GetRotation();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehicle = GetComponent<VehiclePhysicsComponent>();
|
auto vehicle = GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
|
|
||||||
if (vehicle != nullptr) {
|
if (vehicle != nullptr) {
|
||||||
return vehicle->GetRotation();
|
return vehicle->GetRotation();
|
||||||
@ -1272,7 +1270,7 @@ void Entity::SetPosition(NiPoint3 position) {
|
|||||||
simple->SetPosition(position);
|
simple->SetPosition(position);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehicle = GetComponent<VehiclePhysicsComponent>();
|
auto vehicle = GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
|
|
||||||
if (vehicle != nullptr) {
|
if (vehicle != nullptr) {
|
||||||
vehicle->SetPosition(position);
|
vehicle->SetPosition(position);
|
||||||
@ -1300,7 +1298,7 @@ void Entity::SetRotation(NiQuaternion rotation) {
|
|||||||
simple->SetRotation(rotation);
|
simple->SetRotation(rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehicle = GetComponent<VehiclePhysicsComponent>();
|
auto vehicle = GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
|
|
||||||
if (vehicle != nullptr) {
|
if (vehicle != nullptr) {
|
||||||
vehicle->SetRotation(rotation);
|
vehicle->SetRotation(rotation);
|
||||||
|
@ -11,7 +11,7 @@ set(DGAME_DCOMPONENTS_SOURCES "BaseCombatAIComponent.cpp"
|
|||||||
"LUPExhibitComponent.cpp"
|
"LUPExhibitComponent.cpp"
|
||||||
"MissionComponent.cpp"
|
"MissionComponent.cpp"
|
||||||
"MissionOfferComponent.cpp"
|
"MissionOfferComponent.cpp"
|
||||||
"ModelComponent.cpp"
|
"ModelBehaviorComponent.cpp"
|
||||||
"ModuleAssemblyComponent.cpp"
|
"ModuleAssemblyComponent.cpp"
|
||||||
"MovementAIComponent.cpp"
|
"MovementAIComponent.cpp"
|
||||||
"MovingPlatformComponent.cpp"
|
"MovingPlatformComponent.cpp"
|
||||||
@ -30,7 +30,7 @@ set(DGAME_DCOMPONENTS_SOURCES "BaseCombatAIComponent.cpp"
|
|||||||
"RebuildComponent.cpp"
|
"RebuildComponent.cpp"
|
||||||
"RenderComponent.cpp"
|
"RenderComponent.cpp"
|
||||||
"RigidbodyPhantomPhysicsComponent.cpp"
|
"RigidbodyPhantomPhysicsComponent.cpp"
|
||||||
"RocketLaunchLupComponent.cpp"
|
"MultiZoneEntranceComponent.cpp"
|
||||||
"RocketLaunchpadControlComponent.cpp"
|
"RocketLaunchpadControlComponent.cpp"
|
||||||
"ScriptedActivityComponent.cpp"
|
"ScriptedActivityComponent.cpp"
|
||||||
"ShootingGalleryComponent.cpp"
|
"ShootingGalleryComponent.cpp"
|
||||||
@ -39,5 +39,5 @@ set(DGAME_DCOMPONENTS_SOURCES "BaseCombatAIComponent.cpp"
|
|||||||
"SoundTriggerComponent.cpp"
|
"SoundTriggerComponent.cpp"
|
||||||
"SwitchComponent.cpp"
|
"SwitchComponent.cpp"
|
||||||
"TriggerComponent.cpp"
|
"TriggerComponent.cpp"
|
||||||
"VehiclePhysicsComponent.cpp"
|
"HavokVehiclePhysicsComponent.cpp"
|
||||||
"VendorComponent.cpp" PARENT_SCOPE)
|
"VendorComponent.cpp" PARENT_SCOPE)
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
#include "InventoryComponent.h"
|
#include "InventoryComponent.h"
|
||||||
#include "ControllablePhysicsComponent.h"
|
#include "ControllablePhysicsComponent.h"
|
||||||
#include "EntityManager.h"
|
#include "EntityManager.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
|
||||||
#include "GameMessages.h"
|
#include "GameMessages.h"
|
||||||
#include "Item.h"
|
#include "Item.h"
|
||||||
#include "Amf3.h"
|
#include "Amf3.h"
|
||||||
|
148
dGame/dComponents/ComponentHeirachy.md
Normal file
148
dGame/dComponents/ComponentHeirachy.md
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
Legend
|
||||||
|
```
|
||||||
|
├── Explicit inheritance
|
||||||
|
├~~ Loaded with Parent
|
||||||
|
├-> SubComponent
|
||||||
|
├-? idk lol, but related
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```tree
|
||||||
|
|
||||||
|
LWOActivityComponent
|
||||||
|
├── LWOShootingGalleryComponent
|
||||||
|
├── LWOScriptedActivityComponent
|
||||||
|
└── LWOBaseRacingControlComponent
|
||||||
|
├── LWORacingControlComponent
|
||||||
|
└── LWOGateRushControlComponent
|
||||||
|
├── LWOQuickBuildComponent
|
||||||
|
├── LWOMiniGameControlComponent
|
||||||
|
LWOBaseCombatAIComponent
|
||||||
|
├~~ LWOPathfindingControlComponent
|
||||||
|
├~~ LWOProximityMonitorComponent
|
||||||
|
LWOBasePhysComponent
|
||||||
|
├── LWORigidBodyPhantomComponent
|
||||||
|
├── LWOPhantomPhysComponent
|
||||||
|
├── LWOVehiclePhysicsComponent
|
||||||
|
├── LWOSimplePhysComponent
|
||||||
|
├── LWOPhysicsSystemComponent
|
||||||
|
├── LWOHavokVehiclePhysicsComponent
|
||||||
|
├── LWOControllablePhysComponent
|
||||||
|
LWOBaseRenderComponent
|
||||||
|
├── LWOSkinnedRenderComponent
|
||||||
|
LWOBaseVendorComponent
|
||||||
|
├── LWOVendorComponent
|
||||||
|
├~~ LWOProximityMonitorComponent
|
||||||
|
├── LWODonationVendorComponent
|
||||||
|
├~~ LWOProximityMonitorComponent
|
||||||
|
├── LWOAchievementVendorComponent
|
||||||
|
├~~ LWOProximityMonitorComponent
|
||||||
|
LWOBBBComponent_Common
|
||||||
|
├── LWOBBBComponent_Client
|
||||||
|
LWOBlueprintComponent
|
||||||
|
LWOBouncerComponent
|
||||||
|
LWOBuildControllerComponentCommon
|
||||||
|
├── LWOBuildControllerComponent
|
||||||
|
LWOChangelingBuildComponent
|
||||||
|
LWOCharacterComponent
|
||||||
|
├── LWOMinifigComponent
|
||||||
|
├~~ LWOPossessionControlComponent
|
||||||
|
├~~ LWOMountControlComponent
|
||||||
|
├~~ LWOPetCreatorComponent
|
||||||
|
├~~ LWOLevelProgressionComponent
|
||||||
|
├~~ LWOPlayerForcedMovementComponent
|
||||||
|
├~? LWOPathfindingControlComponent
|
||||||
|
LWOChestComponent
|
||||||
|
LWOChoiceBuildComponent
|
||||||
|
LWOCollectibleComponent
|
||||||
|
LWOCustomBuildAssemblyComponent
|
||||||
|
LWODestroyableComponent
|
||||||
|
├~~ LWOBuffComponent
|
||||||
|
├~~ LWOStatusEffectComponent
|
||||||
|
LWODropEffectComponent
|
||||||
|
LWODroppedLootComponent
|
||||||
|
LWOExhibitComponent
|
||||||
|
LWOFXComponent
|
||||||
|
LWOGenericActivatorComponent
|
||||||
|
LWOGhostComponent
|
||||||
|
LWOHFLightDirectionGadgetComponent
|
||||||
|
LWOInventoryComponent_Common
|
||||||
|
├── LWOInventoryComponent_Client
|
||||||
|
└── LWOInventoryComponent_EquippedItem
|
||||||
|
LWOItemComponent
|
||||||
|
LWOLUPExhibitComponent
|
||||||
|
LWOMissionOfferComponent
|
||||||
|
LWOModelBehaviorComponent
|
||||||
|
├~~ LWOSimplePhysComponent
|
||||||
|
├~~ LWOControllablePhysComponent
|
||||||
|
├~~ LWOPathfindingControlComponent
|
||||||
|
├~~ LWOMutableModelBehaviorComponent
|
||||||
|
LWOModelBuilderComponent
|
||||||
|
LWOModularBuildComponentCommon
|
||||||
|
├── LWOModularBuildComponent
|
||||||
|
LWOModuleAssemblyComponent
|
||||||
|
├── LWOModuleAssemblyComponentCommon
|
||||||
|
LWOModuleComponentCommon
|
||||||
|
├── LWOModuleComponent
|
||||||
|
LWOMovementAIComponent
|
||||||
|
LWOMultiZoneEntranceComponent
|
||||||
|
LWOOverheadIconComponent
|
||||||
|
LWOPetComponent
|
||||||
|
├~~ LWOPathfindingControlComponent
|
||||||
|
├~? LWOItemComponent
|
||||||
|
├~? LWOModelBehaviorComponent
|
||||||
|
├~~ ...
|
||||||
|
LWOPlatformBoundaryComponent
|
||||||
|
LWOPlatformComponent
|
||||||
|
├-> LWOMoverPlatformSubComponent
|
||||||
|
├-> LWOSimpleMoverPlatformSubComponent
|
||||||
|
├-> LWORotaterPlatformSubComponent
|
||||||
|
LWOProjectilePhysComponent
|
||||||
|
LWOPropertyComponent
|
||||||
|
LWOPropertyEntranceComponent
|
||||||
|
LWOPropertyManagementComponent
|
||||||
|
LWOPropertyVendorComponent
|
||||||
|
LWOProximityMonitorComponent
|
||||||
|
LWOSoundTriggerComponent
|
||||||
|
├── LWORacingSoundTriggerComponent
|
||||||
|
LWORacingStatsComponentCommon
|
||||||
|
├── LWORacingStatsComponent
|
||||||
|
LWORocketAnimationControlComponentCommon
|
||||||
|
├── LWORocketAnimationControlComponent
|
||||||
|
LWORocketLaunchpadControlComponentCommon
|
||||||
|
├── LWORocketLaunchpadControlComponent
|
||||||
|
LWOScriptComponent
|
||||||
|
├~~ LWOPathfindingControlComponent
|
||||||
|
├~~ LWOProximityMonitorComponent
|
||||||
|
LWOShowcaseModelHandlerComponent
|
||||||
|
LWOSkillComponent
|
||||||
|
LWOSoundAmbient2DComponent
|
||||||
|
LWOSoundAmbient3DComponent
|
||||||
|
LWOSoundRepeaterComponent
|
||||||
|
LWOSpawnComponent
|
||||||
|
LWOSpringpadComponent
|
||||||
|
LWOSwitchComponent
|
||||||
|
LWOTriggerComponent
|
||||||
|
LocalPlayer (not a component)
|
||||||
|
├~~ LWOInteractionManagerComponent
|
||||||
|
├~~ LWOUserControlComponent
|
||||||
|
├~~ LWOFriendsListComponent
|
||||||
|
├~~ LWOIgnoreListComponent
|
||||||
|
├~~ LWOTextEffectComponent
|
||||||
|
├~~ LWOChatBubbleComponent
|
||||||
|
├~~ LWOGuildComponent
|
||||||
|
├~~ LWOPlayerPetTamingComponent
|
||||||
|
├~~ LWOLocalSystemsComponent
|
||||||
|
├~~ LWOSlashCommandComponent
|
||||||
|
├~~ LWOMissionComponent
|
||||||
|
├~~ LWOPropertyEditorComponent
|
||||||
|
├~~ LWOComponent115
|
||||||
|
├~~ LWOTeamsComponent
|
||||||
|
├~~ LWOChatComponent
|
||||||
|
├~~ LWOPetControlComponent
|
||||||
|
├~~ LWOTradeComponent
|
||||||
|
├~~ LWOPreconditionComponent
|
||||||
|
├~~ LWOFlagComponent
|
||||||
|
├~~ LWOFactionTriggerComponent
|
||||||
|
|
||||||
|
```
|
@ -1,7 +1,7 @@
|
|||||||
#include "VehiclePhysicsComponent.h"
|
#include "HavokVehiclePhysicsComponent.h"
|
||||||
#include "EntityManager.h"
|
#include "EntityManager.h"
|
||||||
|
|
||||||
VehiclePhysicsComponent::VehiclePhysicsComponent(Entity* parent) : Component(parent) {
|
HavokVehiclePhysicsComponent::HavokVehiclePhysicsComponent(Entity* parent) : Component(parent) {
|
||||||
m_Position = NiPoint3::ZERO;
|
m_Position = NiPoint3::ZERO;
|
||||||
m_Rotation = NiQuaternion::IDENTITY;
|
m_Rotation = NiQuaternion::IDENTITY;
|
||||||
m_Velocity = NiPoint3::ZERO;
|
m_Velocity = NiPoint3::ZERO;
|
||||||
@ -14,52 +14,52 @@ VehiclePhysicsComponent::VehiclePhysicsComponent(Entity* parent) : Component(par
|
|||||||
m_EndBehavior = GeneralUtils::GenerateRandomNumber<uint32_t>(0, 7);
|
m_EndBehavior = GeneralUtils::GenerateRandomNumber<uint32_t>(0, 7);
|
||||||
}
|
}
|
||||||
|
|
||||||
VehiclePhysicsComponent::~VehiclePhysicsComponent() {
|
HavokVehiclePhysicsComponent::~HavokVehiclePhysicsComponent() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetPosition(const NiPoint3& pos) {
|
void HavokVehiclePhysicsComponent::SetPosition(const NiPoint3& pos) {
|
||||||
m_Position = pos;
|
m_Position = pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetRotation(const NiQuaternion& rot) {
|
void HavokVehiclePhysicsComponent::SetRotation(const NiQuaternion& rot) {
|
||||||
m_DirtyPosition = true;
|
m_DirtyPosition = true;
|
||||||
m_Rotation = rot;
|
m_Rotation = rot;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetVelocity(const NiPoint3& vel) {
|
void HavokVehiclePhysicsComponent::SetVelocity(const NiPoint3& vel) {
|
||||||
m_DirtyPosition = true;
|
m_DirtyPosition = true;
|
||||||
m_Velocity = vel;
|
m_Velocity = vel;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetAngularVelocity(const NiPoint3& vel) {
|
void HavokVehiclePhysicsComponent::SetAngularVelocity(const NiPoint3& vel) {
|
||||||
m_DirtyPosition = true;
|
m_DirtyPosition = true;
|
||||||
m_AngularVelocity = vel;
|
m_AngularVelocity = vel;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetIsOnGround(bool val) {
|
void HavokVehiclePhysicsComponent::SetIsOnGround(bool val) {
|
||||||
m_DirtyPosition = true;
|
m_DirtyPosition = true;
|
||||||
m_IsOnGround = val;
|
m_IsOnGround = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetIsOnRail(bool val) {
|
void HavokVehiclePhysicsComponent::SetIsOnRail(bool val) {
|
||||||
m_DirtyPosition = true;
|
m_DirtyPosition = true;
|
||||||
m_IsOnRail = val;
|
m_IsOnRail = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetDirtyPosition(bool val) {
|
void HavokVehiclePhysicsComponent::SetDirtyPosition(bool val) {
|
||||||
m_DirtyPosition = val;
|
m_DirtyPosition = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetDirtyVelocity(bool val) {
|
void HavokVehiclePhysicsComponent::SetDirtyVelocity(bool val) {
|
||||||
m_DirtyVelocity = val;
|
m_DirtyVelocity = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::SetDirtyAngularVelocity(bool val) {
|
void HavokVehiclePhysicsComponent::SetDirtyAngularVelocity(bool val) {
|
||||||
m_DirtyAngularVelocity = val;
|
m_DirtyAngularVelocity = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
void HavokVehiclePhysicsComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
||||||
outBitStream->Write(bIsInitialUpdate || m_DirtyPosition);
|
outBitStream->Write(bIsInitialUpdate || m_DirtyPosition);
|
||||||
|
|
||||||
if (bIsInitialUpdate || m_DirtyPosition) {
|
if (bIsInitialUpdate || m_DirtyPosition) {
|
||||||
@ -101,7 +101,7 @@ void VehiclePhysicsComponent::Serialize(RakNet::BitStream* outBitStream, bool bI
|
|||||||
outBitStream->Write0();
|
outBitStream->Write0();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VehiclePhysicsComponent::Update(float deltaTime) {
|
void HavokVehiclePhysicsComponent::Update(float deltaTime) {
|
||||||
if (m_SoftUpdate > 5) {
|
if (m_SoftUpdate > 5) {
|
||||||
EntityManager::Instance()->SerializeEntity(m_OwningEntity);
|
EntityManager::Instance()->SerializeEntity(m_OwningEntity);
|
||||||
|
|
@ -8,12 +8,12 @@
|
|||||||
/**
|
/**
|
||||||
* Physics component for vehicles.
|
* Physics component for vehicles.
|
||||||
*/
|
*/
|
||||||
class VehiclePhysicsComponent : public Component {
|
class HavokVehiclePhysicsComponent : public Component {
|
||||||
public:
|
public:
|
||||||
static const eReplicaComponentType ComponentType = eReplicaComponentType::VEHICLE_PHYSICS;
|
static const eReplicaComponentType ComponentType = eReplicaComponentType::HAVOK_VEHICLE_PHYSICS;
|
||||||
|
|
||||||
VehiclePhysicsComponent(Entity* parentEntity);
|
HavokVehiclePhysicsComponent(Entity* parentEntity);
|
||||||
~VehiclePhysicsComponent() override;
|
~HavokVehiclePhysicsComponent() override;
|
||||||
|
|
||||||
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
||||||
|
|
@ -19,7 +19,7 @@
|
|||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
#include "PossessableComponent.h"
|
#include "PossessableComponent.h"
|
||||||
#include "ModuleAssemblyComponent.h"
|
#include "ModuleAssemblyComponent.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
#include "HavokVehiclePhysicsComponent.h"
|
||||||
#include "CharacterComponent.h"
|
#include "CharacterComponent.h"
|
||||||
#include "dZoneManager.h"
|
#include "dZoneManager.h"
|
||||||
#include "PropertyManagementComponent.h"
|
#include "PropertyManagementComponent.h"
|
||||||
@ -826,7 +826,7 @@ void InventoryComponent::EquipItem(Item* item, const bool skipChecks) {
|
|||||||
if (character != nullptr && !skipChecks) {
|
if (character != nullptr && !skipChecks) {
|
||||||
// Hacky proximity rocket
|
// Hacky proximity rocket
|
||||||
if (item->GetLot() == 6416) {
|
if (item->GetLot() == 6416) {
|
||||||
const auto rocketLauchPads = EntityManager::Instance()->GetEntitiesByComponent(eReplicaComponentType::ROCKET_LAUNCH);
|
const auto rocketLauchPads = EntityManager::Instance()->GetEntitiesByComponent(eReplicaComponentType::ROCKET_LAUNCHPAD_CONTROL);
|
||||||
|
|
||||||
const auto position = m_OwningEntity->GetPosition();
|
const auto position = m_OwningEntity->GetPosition();
|
||||||
|
|
||||||
@ -986,8 +986,8 @@ void InventoryComponent::HandlePossession(Item* item) {
|
|||||||
auto* mount = EntityManager::Instance()->CreateEntity(info, nullptr, m_OwningEntity);
|
auto* mount = EntityManager::Instance()->CreateEntity(info, nullptr, m_OwningEntity);
|
||||||
|
|
||||||
// Check to see if the mount is a vehicle, if so, flip it
|
// Check to see if the mount is a vehicle, if so, flip it
|
||||||
auto vehicleComponent = mount->GetComponent<VehiclePhysicsComponent>();
|
auto havokVehiclePhysicsComponent = mount->GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
if (vehicleComponent) {
|
if (havokVehiclePhysicsComponent) {
|
||||||
auto angles = startRotation.GetEulerAngles();
|
auto angles = startRotation.GetEulerAngles();
|
||||||
// Make it right side up
|
// Make it right side up
|
||||||
angles.x -= PI;
|
angles.x -= PI;
|
||||||
@ -1024,7 +1024,7 @@ void InventoryComponent::HandlePossession(Item* item) {
|
|||||||
EntityManager::Instance()->SerializeEntity(m_OwningEntity);
|
EntityManager::Instance()->SerializeEntity(m_OwningEntity);
|
||||||
|
|
||||||
// have to unlock the input so it vehicle can be driven
|
// have to unlock the input so it vehicle can be driven
|
||||||
if (vehicleComponent) GameMessages::SendVehicleUnlockInput(mount->GetObjectID(), false, m_OwningEntity->GetSystemAddress());
|
if (havokVehiclePhysicsComponent) GameMessages::SendVehicleUnlockInput(mount->GetObjectID(), false, m_OwningEntity->GetSystemAddress());
|
||||||
GameMessages::SendMarkInventoryItemAsActive(m_OwningEntity->GetObjectID(), true, eUnequippableActiveType::MOUNT, item->GetId(), m_OwningEntity->GetSystemAddress());
|
GameMessages::SendMarkInventoryItemAsActive(m_OwningEntity->GetObjectID(), true, eUnequippableActiveType::MOUNT, item->GetId(), m_OwningEntity->GetSystemAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
#include "ModelComponent.h"
|
#include "ModelBehaviorComponent.h"
|
||||||
#include "Entity.h"
|
#include "Entity.h"
|
||||||
|
|
||||||
ModelComponent::ModelComponent(Entity* parent) : Component(parent) {
|
ModelBehaviorComponent::ModelBehaviorComponent(Entity* parent) : Component(parent) {
|
||||||
m_OriginalPosition = m_OwningEntity->GetDefaultPosition();
|
m_OriginalPosition = m_OwningEntity->GetDefaultPosition();
|
||||||
m_OriginalRotation = m_OwningEntity->GetDefaultRotation();
|
m_OriginalRotation = m_OwningEntity->GetDefaultRotation();
|
||||||
|
|
||||||
m_userModelID = m_OwningEntity->GetVarAs<LWOOBJID>(u"userModelID");
|
m_userModelID = m_OwningEntity->GetVarAs<LWOOBJID>(u"userModelID");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModelComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
void ModelBehaviorComponent::Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags) {
|
||||||
// ItemComponent Serialization. Pets do not get this serialization.
|
// ItemComponent Serialization. Pets do not get this serialization.
|
||||||
if (!m_OwningEntity->HasComponent(eReplicaComponentType::PET)) {
|
if (!m_OwningEntity->HasComponent(eReplicaComponentType::PET)) {
|
||||||
outBitStream->Write1();
|
outBitStream->Write1();
|
@ -11,11 +11,11 @@ class Entity;
|
|||||||
/**
|
/**
|
||||||
* Component that represents entities that are a model, e.g. collectible models and BBB models.
|
* Component that represents entities that are a model, e.g. collectible models and BBB models.
|
||||||
*/
|
*/
|
||||||
class ModelComponent : public Component {
|
class ModelBehaviorComponent : public Component {
|
||||||
public:
|
public:
|
||||||
static const eReplicaComponentType ComponentType = eReplicaComponentType::MODEL;
|
static const eReplicaComponentType ComponentType = eReplicaComponentType::MODEL_BEHAVIOR;
|
||||||
|
|
||||||
ModelComponent(Entity* parent);
|
ModelBehaviorComponent(Entity* parent);
|
||||||
|
|
||||||
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
void Serialize(RakNet::BitStream* outBitStream, bool bIsInitialUpdate, unsigned int& flags);
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
#include "RocketLaunchLupComponent.h"
|
#include "MultiZoneEntranceComponent.h"
|
||||||
#include "RocketLaunchpadControlComponent.h"
|
#include "RocketLaunchpadControlComponent.h"
|
||||||
#include "InventoryComponent.h"
|
#include "InventoryComponent.h"
|
||||||
#include "CharacterComponent.h"
|
#include "CharacterComponent.h"
|
||||||
|
|
||||||
RocketLaunchLupComponent::RocketLaunchLupComponent(Entity* parent) : Component(parent) {
|
MultiZoneEntranceComponent::MultiZoneEntranceComponent(Entity* parent) : Component(parent) {
|
||||||
m_OwningEntity = parent;
|
m_OwningEntity = parent;
|
||||||
std::string zoneString = GeneralUtils::UTF16ToWTF8(m_OwningEntity->GetVar<std::u16string>(u"MultiZoneIDs"));
|
std::string zoneString = GeneralUtils::UTF16ToWTF8(m_OwningEntity->GetVar<std::u16string>(u"MultiZoneIDs"));
|
||||||
std::stringstream ss(zoneString);
|
std::stringstream ss(zoneString);
|
||||||
@ -14,9 +14,9 @@ RocketLaunchLupComponent::RocketLaunchLupComponent(Entity* parent) : Component(p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RocketLaunchLupComponent::~RocketLaunchLupComponent() {}
|
MultiZoneEntranceComponent::~MultiZoneEntranceComponent() {}
|
||||||
|
|
||||||
void RocketLaunchLupComponent::OnUse(Entity* originator) {
|
void MultiZoneEntranceComponent::OnUse(Entity* originator) {
|
||||||
auto rocket = originator->GetComponent<CharacterComponent>()->RocketEquip(originator);
|
auto rocket = originator->GetComponent<CharacterComponent>()->RocketEquip(originator);
|
||||||
if (!rocket) return;
|
if (!rocket) return;
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ void RocketLaunchLupComponent::OnUse(Entity* originator) {
|
|||||||
GameMessages::SendPropertyEntranceBegin(m_OwningEntity->GetObjectID(), m_OwningEntity->GetSystemAddress());
|
GameMessages::SendPropertyEntranceBegin(m_OwningEntity->GetObjectID(), m_OwningEntity->GetSystemAddress());
|
||||||
}
|
}
|
||||||
|
|
||||||
void RocketLaunchLupComponent::OnSelectWorld(Entity* originator, uint32_t index) {
|
void MultiZoneEntranceComponent::OnSelectWorld(Entity* originator, uint32_t index) {
|
||||||
auto rocketLaunchpadControlComponent = m_OwningEntity->GetComponent<RocketLaunchpadControlComponent>();
|
auto rocketLaunchpadControlComponent = m_OwningEntity->GetComponent<RocketLaunchpadControlComponent>();
|
||||||
if (!rocketLaunchpadControlComponent) return;
|
if (!rocketLaunchpadControlComponent) return;
|
||||||
|
|
@ -9,16 +9,16 @@
|
|||||||
* Component that handles the LUP/WBL rocket launchpad that can be interacted with to travel to WBL worlds.
|
* Component that handles the LUP/WBL rocket launchpad that can be interacted with to travel to WBL worlds.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
class RocketLaunchLupComponent : public Component {
|
class MultiZoneEntranceComponent : public Component {
|
||||||
public:
|
public:
|
||||||
static const eReplicaComponentType ComponentType = eReplicaComponentType::ROCKET_LAUNCH_LUP;
|
static const eReplicaComponentType ComponentType = eReplicaComponentType::MULTI_ZONE_ENTRANCE;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for this component, builds the m_LUPWorlds vector
|
* Constructor for this component, builds the m_LUPWorlds vector
|
||||||
* @param parent parent that contains this component
|
* @param parent parent that contains this component
|
||||||
*/
|
*/
|
||||||
RocketLaunchLupComponent(Entity* parent);
|
MultiZoneEntranceComponent(Entity* parent);
|
||||||
~RocketLaunchLupComponent() override;
|
~MultiZoneEntranceComponent() override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles an OnUse event from some entity, preparing it for launch to some other world
|
* Handles an OnUse event from some entity, preparing it for launch to some other world
|
@ -17,7 +17,6 @@
|
|||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
#include "eRacingTaskParam.h"
|
#include "eRacingTaskParam.h"
|
||||||
#include "Spawner.h"
|
#include "Spawner.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
|
||||||
#include "dServer.h"
|
#include "dServer.h"
|
||||||
#include "dZoneManager.h"
|
#include "dZoneManager.h"
|
||||||
#include "dConfig.h"
|
#include "dConfig.h"
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
#include "ChatPackets.h"
|
#include "ChatPackets.h"
|
||||||
#include "MissionComponent.h"
|
#include "MissionComponent.h"
|
||||||
#include "PropertyEntranceComponent.h"
|
#include "PropertyEntranceComponent.h"
|
||||||
#include "RocketLaunchLupComponent.h"
|
#include "MultiZoneEntranceComponent.h"
|
||||||
#include "dServer.h"
|
#include "dServer.h"
|
||||||
#include "PacketUtils.h"
|
#include "PacketUtils.h"
|
||||||
#include "eObjectWorldState.h"
|
#include "eObjectWorldState.h"
|
||||||
@ -94,8 +94,8 @@ void RocketLaunchpadControlComponent::OnUse(Entity* originator) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto rocketLaunchLUP = m_OwningEntity->GetComponent<RocketLaunchLupComponent>();
|
auto multiZoneEntranceComponent = m_OwningEntity->GetComponent<MultiZoneEntranceComponent>();
|
||||||
if (rocketLaunchLUP) {
|
if (multiZoneEntranceComponent) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ class PreconditionExpression;
|
|||||||
*/
|
*/
|
||||||
class RocketLaunchpadControlComponent : public Component {
|
class RocketLaunchpadControlComponent : public Component {
|
||||||
public:
|
public:
|
||||||
static const eReplicaComponentType ComponentType = eReplicaComponentType::ROCKET_LAUNCH;
|
static const eReplicaComponentType ComponentType = eReplicaComponentType::ROCKET_LAUNCHPAD_CONTROL;
|
||||||
|
|
||||||
RocketLaunchpadControlComponent(Entity* parent, int rocketId);
|
RocketLaunchpadControlComponent(Entity* parent, int rocketId);
|
||||||
~RocketLaunchpadControlComponent() override;
|
~RocketLaunchpadControlComponent() override;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include "dConfig.h"
|
#include "dConfig.h"
|
||||||
#include "TeamManager.h"
|
#include "TeamManager.h"
|
||||||
#include "ChatPackets.h"
|
#include "ChatPackets.h"
|
||||||
#include "RocketLaunchLupComponent.h"
|
#include "MultiZoneEntranceComponent.h"
|
||||||
#include "eUnequippableActiveType.h"
|
#include "eUnequippableActiveType.h"
|
||||||
#include "eMovementPlatformState.h"
|
#include "eMovementPlatformState.h"
|
||||||
#include "LeaderboardManager.h"
|
#include "LeaderboardManager.h"
|
||||||
@ -69,7 +69,6 @@
|
|||||||
#include "MovingPlatformComponent.h"
|
#include "MovingPlatformComponent.h"
|
||||||
#include "PetComponent.h"
|
#include "PetComponent.h"
|
||||||
#include "ModuleAssemblyComponent.h"
|
#include "ModuleAssemblyComponent.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
|
||||||
#include "RenderComponent.h"
|
#include "RenderComponent.h"
|
||||||
#include "PossessableComponent.h"
|
#include "PossessableComponent.h"
|
||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
@ -2809,9 +2808,9 @@ void GameMessages::HandleEnterProperty(RakNet::BitStream* inStream, Entity* enti
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto rocketLaunchLupComponent = entity->GetComponent<RocketLaunchLupComponent>();
|
auto multiZoneEntranceComponent = entity->GetComponent<MultiZoneEntranceComponent>();
|
||||||
if (rocketLaunchLupComponent != nullptr) {
|
if (multiZoneEntranceComponent != nullptr) {
|
||||||
rocketLaunchLupComponent->OnSelectWorld(player, index);
|
multiZoneEntranceComponent->OnSelectWorld(player, index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
#include "Entity.h"
|
#include "Entity.h"
|
||||||
#include "Game.h"
|
#include "Game.h"
|
||||||
#include "GameMessages.h"
|
#include "GameMessages.h"
|
||||||
#include "ModelComponent.h"
|
#include "ModelBehaviorComponent.h"
|
||||||
#include "../../dWorldServer/ObjectIDManager.h"
|
#include "../../dWorldServer/ObjectIDManager.h"
|
||||||
#include "dLogger.h"
|
#include "dLogger.h"
|
||||||
#include "BehaviorStates.h"
|
#include "BehaviorStates.h"
|
||||||
@ -30,7 +30,7 @@
|
|||||||
#include "UpdateActionMessage.h"
|
#include "UpdateActionMessage.h"
|
||||||
#include "UpdateStripUiMessage.h"
|
#include "UpdateStripUiMessage.h"
|
||||||
|
|
||||||
void ControlBehaviors::RequestUpdatedID(int32_t behaviorID, std::shared_ptr<ModelComponent> modelComponent, Entity* modelOwner, const SystemAddress& sysAddr) {
|
void ControlBehaviors::RequestUpdatedID(int32_t behaviorID, std::shared_ptr<ModelBehaviorComponent> modelComponent, Entity* modelOwner, const SystemAddress& sysAddr) {
|
||||||
// auto behavior = modelComponent->FindBehavior(behaviorID);
|
// auto behavior = modelComponent->FindBehavior(behaviorID);
|
||||||
// if (behavior->GetBehaviorID() == -1 || behavior->GetShouldSetNewID()) {
|
// if (behavior->GetBehaviorID() == -1 || behavior->GetShouldSetNewID()) {
|
||||||
// ObjectIDManager::Instance()->RequestPersistentID(
|
// ObjectIDManager::Instance()->RequestPersistentID(
|
||||||
@ -57,7 +57,7 @@ void ControlBehaviors::RequestUpdatedID(int32_t behaviorID, std::shared_ptr<Mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ControlBehaviors::SendBehaviorListToClient(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner) {
|
void ControlBehaviors::SendBehaviorListToClient(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner) {
|
||||||
auto modelComponent = modelEntity->GetComponent<ModelComponent>();
|
auto modelComponent = modelEntity->GetComponent<ModelBehaviorComponent>();
|
||||||
|
|
||||||
if (!modelComponent) return;
|
if (!modelComponent) return;
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ void ControlBehaviors::SendBehaviorListToClient(Entity* modelEntity, const Syste
|
|||||||
GameMessages::SendUIMessageServerToSingleClient(modelOwner, sysAddr, "UpdateBehaviorList", behaviorsToSerialize);
|
GameMessages::SendUIMessageServerToSingleClient(modelOwner, sysAddr, "UpdateBehaviorList", behaviorsToSerialize);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControlBehaviors::ModelTypeChanged(AMFArrayValue* arguments, std::shared_ptr<ModelComponent> ModelComponent) {
|
void ControlBehaviors::ModelTypeChanged(AMFArrayValue* arguments, std::shared_ptr<ModelBehaviorComponent> ModelBehaviorComponent) {
|
||||||
auto* modelTypeAmf = arguments->Get<double>("ModelType");
|
auto* modelTypeAmf = arguments->Get<double>("ModelType");
|
||||||
if (!modelTypeAmf) return;
|
if (!modelTypeAmf) return;
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ void ControlBehaviors::Rename(Entity* modelEntity, const SystemAddress& sysAddr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO This is also supposed to serialize the state of the behaviors in progress but those aren't implemented yet
|
// TODO This is also supposed to serialize the state of the behaviors in progress but those aren't implemented yet
|
||||||
void ControlBehaviors::SendBehaviorBlocksToClient(std::shared_ptr<ModelComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments) {
|
void ControlBehaviors::SendBehaviorBlocksToClient(std::shared_ptr<ModelBehaviorComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments) {
|
||||||
// uint32_t behaviorID = ControlBehaviors::GetBehaviorIDFromArgument(arguments);
|
// uint32_t behaviorID = ControlBehaviors::GetBehaviorIDFromArgument(arguments);
|
||||||
|
|
||||||
// auto modelBehavior = modelComponent->FindBehavior(behaviorID);
|
// auto modelBehavior = modelComponent->FindBehavior(behaviorID);
|
||||||
@ -266,7 +266,7 @@ void ControlBehaviors::UpdateAction(AMFArrayValue* arguments) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ControlBehaviors::MoveToInventory(std::shared_ptr<ModelComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments) {
|
void ControlBehaviors::MoveToInventory(std::shared_ptr<ModelBehaviorComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments) {
|
||||||
// This closes the UI menu should it be open while the player is removing behaviors
|
// This closes the UI menu should it be open while the player is removing behaviors
|
||||||
AMFArrayValue args;
|
AMFArrayValue args;
|
||||||
|
|
||||||
@ -281,7 +281,7 @@ void ControlBehaviors::MoveToInventory(std::shared_ptr<ModelComponent> modelComp
|
|||||||
|
|
||||||
void ControlBehaviors::ProcessCommand(Entity* modelEntity, const SystemAddress& sysAddr, AMFArrayValue* arguments, std::string command, Entity* modelOwner) {
|
void ControlBehaviors::ProcessCommand(Entity* modelEntity, const SystemAddress& sysAddr, AMFArrayValue* arguments, std::string command, Entity* modelOwner) {
|
||||||
if (!isInitialized || !modelEntity || !modelOwner || !arguments) return;
|
if (!isInitialized || !modelEntity || !modelOwner || !arguments) return;
|
||||||
auto modelComponent = modelEntity->GetComponent<ModelComponent>();
|
auto modelComponent = modelEntity->GetComponent<ModelBehaviorComponent>();
|
||||||
|
|
||||||
if (!modelComponent) return;
|
if (!modelComponent) return;
|
||||||
|
|
||||||
@ -342,7 +342,7 @@ ControlBehaviors::ControlBehaviors() {
|
|||||||
std::string buffer{};
|
std::string buffer{};
|
||||||
bool commentBlockStart = false;
|
bool commentBlockStart = false;
|
||||||
while (std::getline(blocksBuffer, read)) {
|
while (std::getline(blocksBuffer, read)) {
|
||||||
// tinyxml2 should handle comment blocks but the client has one that fails the processing.
|
// tinyxml2 should handle comment blocks but the client has one that fails the processing.
|
||||||
// This preprocessing just removes all comments from the read file out of an abundance of caution.
|
// This preprocessing just removes all comments from the read file out of an abundance of caution.
|
||||||
if (read.find("<!--") != std::string::npos) {
|
if (read.find("<!--") != std::string::npos) {
|
||||||
commentBlockStart = true;
|
commentBlockStart = true;
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
class AMFArrayValue;
|
class AMFArrayValue;
|
||||||
class BlockDefinition;
|
class BlockDefinition;
|
||||||
class Entity;
|
class Entity;
|
||||||
class ModelComponent;
|
class ModelBehaviorComponent;
|
||||||
class SystemAddress;
|
class SystemAddress;
|
||||||
|
|
||||||
// Type definition to clarify what is used where
|
// Type definition to clarify what is used where
|
||||||
@ -34,16 +34,16 @@ public:
|
|||||||
/**
|
/**
|
||||||
* @brief Gets a blocks parameter values by the name
|
* @brief Gets a blocks parameter values by the name
|
||||||
* No exception will be thrown in this function.
|
* No exception will be thrown in this function.
|
||||||
*
|
*
|
||||||
* @param blockName The block name to get the parameters of
|
* @param blockName The block name to get the parameters of
|
||||||
*
|
*
|
||||||
* @return A pair of the block parameter name to its typing
|
* @return A pair of the block parameter name to its typing
|
||||||
*/
|
*/
|
||||||
BlockDefinition* GetBlockInfo(const BlockName& blockName);
|
BlockDefinition* GetBlockInfo(const BlockName& blockName);
|
||||||
private:
|
private:
|
||||||
void RequestUpdatedID(int32_t behaviorID, std::shared_ptr<ModelComponent> modelComponent, Entity* modelOwner, const SystemAddress& sysAddr);
|
void RequestUpdatedID(int32_t behaviorID, std::shared_ptr<ModelBehaviorComponent> modelComponent, Entity* modelOwner, const SystemAddress& sysAddr);
|
||||||
void SendBehaviorListToClient(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner);
|
void SendBehaviorListToClient(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner);
|
||||||
void ModelTypeChanged(AMFArrayValue* arguments, std::shared_ptr<ModelComponent> ModelComponent);
|
void ModelTypeChanged(AMFArrayValue* arguments, std::shared_ptr<ModelBehaviorComponent> ModelBehaviorComponent);
|
||||||
void ToggleExecutionUpdates();
|
void ToggleExecutionUpdates();
|
||||||
void AddStrip(AMFArrayValue* arguments);
|
void AddStrip(AMFArrayValue* arguments);
|
||||||
void RemoveStrip(AMFArrayValue* arguments);
|
void RemoveStrip(AMFArrayValue* arguments);
|
||||||
@ -56,9 +56,9 @@ private:
|
|||||||
void Add(AMFArrayValue* arguments);
|
void Add(AMFArrayValue* arguments);
|
||||||
void RemoveActions(AMFArrayValue* arguments);
|
void RemoveActions(AMFArrayValue* arguments);
|
||||||
void Rename(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
void Rename(Entity* modelEntity, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
||||||
void SendBehaviorBlocksToClient(std::shared_ptr<ModelComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
void SendBehaviorBlocksToClient(std::shared_ptr<ModelBehaviorComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
||||||
void UpdateAction(AMFArrayValue* arguments);
|
void UpdateAction(AMFArrayValue* arguments);
|
||||||
void MoveToInventory(std::shared_ptr<ModelComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
void MoveToInventory(std::shared_ptr<ModelBehaviorComponent> modelComponent, const SystemAddress& sysAddr, Entity* modelOwner, AMFArrayValue* arguments);
|
||||||
std::map<BlockName, BlockDefinition*> blockTypes{};
|
std::map<BlockName, BlockDefinition*> blockTypes{};
|
||||||
|
|
||||||
// If false, property behaviors will not be able to be edited.
|
// If false, property behaviors will not be able to be edited.
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
#include "dpShapeSphere.h"
|
#include "dpShapeSphere.h"
|
||||||
#include "PossessableComponent.h"
|
#include "PossessableComponent.h"
|
||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
#include "HavokVehiclePhysicsComponent.h"
|
||||||
#include "BuffComponent.h"
|
#include "BuffComponent.h"
|
||||||
#include "SkillComponent.h"
|
#include "SkillComponent.h"
|
||||||
#include "VanityUtilities.h"
|
#include "VanityUtilities.h"
|
||||||
@ -940,9 +940,9 @@ void SlashCommandHandler::HandleChatCommand(const std::u16string& command, Entit
|
|||||||
auto* possassableEntity = EntityManager::Instance()->GetEntity(possessorComponent->GetPossessable());
|
auto* possassableEntity = EntityManager::Instance()->GetEntity(possessorComponent->GetPossessable());
|
||||||
|
|
||||||
if (possassableEntity != nullptr) {
|
if (possassableEntity != nullptr) {
|
||||||
auto vehiclePhysicsComponent = possassableEntity->GetComponent<VehiclePhysicsComponent>();
|
auto havokVehiclePhysicsComponent = possassableEntity->GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
if (vehiclePhysicsComponent) {
|
if (havokVehiclePhysicsComponent) {
|
||||||
vehiclePhysicsComponent->SetPosition(pos);
|
havokVehiclePhysicsComponent->SetPosition(pos);
|
||||||
EntityManager::Instance()->SerializeEntity(possassableEntity);
|
EntityManager::Instance()->SerializeEntity(possassableEntity);
|
||||||
} else GameMessages::SendTeleport(possassableEntity->GetObjectID(), pos, NiQuaternion(), sysAddr);
|
} else GameMessages::SendTeleport(possassableEntity->GetObjectID(), pos, NiQuaternion(), sysAddr);
|
||||||
}
|
}
|
||||||
@ -1267,8 +1267,8 @@ void SlashCommandHandler::HandleChatCommand(const std::u16string& command, Entit
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehiclePhysicsComponent = newEntity->GetComponent<VehiclePhysicsComponent>();
|
auto havokVehiclePhysicsComponent = newEntity->GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
if (vehiclePhysicsComponent) {
|
if (havokVehiclePhysicsComponent) {
|
||||||
auto newRot = newEntity->GetRotation();
|
auto newRot = newEntity->GetRotation();
|
||||||
auto angles = newRot.GetEulerAngles();
|
auto angles = newRot.GetEulerAngles();
|
||||||
// make it right side up
|
// make it right side up
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
class RawChunk;
|
class RawChunk;
|
||||||
struct RawMesh;
|
struct RawMesh;
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include "Zone.h"
|
#include "Zone.h"
|
||||||
#include "PossessorComponent.h"
|
#include "PossessorComponent.h"
|
||||||
#include "PossessableComponent.h"
|
#include "PossessableComponent.h"
|
||||||
#include "VehiclePhysicsComponent.h"
|
#include "HavokVehiclePhysicsComponent.h"
|
||||||
#include "dConfig.h"
|
#include "dConfig.h"
|
||||||
#include "CharacterComponent.h"
|
#include "CharacterComponent.h"
|
||||||
#include "Database.h"
|
#include "Database.h"
|
||||||
@ -148,19 +148,19 @@ void ClientPackets::HandleClientPositionUpdate(const SystemAddress& sysAddr, Pac
|
|||||||
if (possessableComponent->GetPossessionType() != ePossessionType::ATTACHED_VISIBLE) updateChar = false;
|
if (possessableComponent->GetPossessionType() != ePossessionType::ATTACHED_VISIBLE) updateChar = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto vehiclePhysicsComponent = possassableEntity->GetComponent<VehiclePhysicsComponent>();
|
auto havokVehiclePhysicsComponent = possassableEntity->GetComponent<HavokVehiclePhysicsComponent>();
|
||||||
if (vehiclePhysicsComponent != nullptr) {
|
if (havokVehiclePhysicsComponent != nullptr) {
|
||||||
// This is flipped for whatever reason
|
// This is flipped for whatever reason
|
||||||
rotation = NiQuaternion(rotation.z, rotation.y, rotation.x, rotation.w);
|
rotation = NiQuaternion(rotation.z, rotation.y, rotation.x, rotation.w);
|
||||||
|
|
||||||
vehiclePhysicsComponent->SetPosition(position);
|
havokVehiclePhysicsComponent->SetPosition(position);
|
||||||
vehiclePhysicsComponent->SetRotation(rotation);
|
havokVehiclePhysicsComponent->SetRotation(rotation);
|
||||||
vehiclePhysicsComponent->SetIsOnGround(onGround);
|
havokVehiclePhysicsComponent->SetIsOnGround(onGround);
|
||||||
vehiclePhysicsComponent->SetIsOnRail(onRail);
|
havokVehiclePhysicsComponent->SetIsOnRail(onRail);
|
||||||
vehiclePhysicsComponent->SetVelocity(velocity);
|
havokVehiclePhysicsComponent->SetVelocity(velocity);
|
||||||
vehiclePhysicsComponent->SetDirtyVelocity(velocityFlag);
|
havokVehiclePhysicsComponent->SetDirtyVelocity(velocityFlag);
|
||||||
vehiclePhysicsComponent->SetAngularVelocity(angVelocity);
|
havokVehiclePhysicsComponent->SetAngularVelocity(angVelocity);
|
||||||
vehiclePhysicsComponent->SetDirtyAngularVelocity(angVelocityFlag);
|
havokVehiclePhysicsComponent->SetDirtyAngularVelocity(angVelocityFlag);
|
||||||
} else {
|
} else {
|
||||||
// Need to get the mount's controllable physics
|
// Need to get the mount's controllable physics
|
||||||
auto controllablePhysicsComponent = possassableEntity->GetComponent<ControllablePhysicsComponent>();
|
auto controllablePhysicsComponent = possassableEntity->GetComponent<ControllablePhysicsComponent>();
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
class Command;
|
class Command;
|
||||||
class Event;
|
class Event;
|
||||||
|
Loading…
Reference in New Issue
Block a user