Files
firestorm/Gameleap/code/mw4/Libraries/Adept/EntityClassData.cpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

121 lines
3.8 KiB
C++

//===========================================================================//
// File: EntityClassData.cpp //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 11/29/94 JMA Initial coding. //
// 08/25/97 JMA Infrastructure changes //
// 08/25/97 ECH Infrastructure changes //
//---------------------------------------------------------------------------//
// Copyright (C) 1994-97, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include "AdeptHeaders.hpp"
#include "EntityClassData.hpp"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
Entity__ClassData::Entity__ClassData(
RegisteredClass::ClassID class_id,
const char* class_name,
Replicator::ClassData *parent_class,
int message_count,
const Receiver::MessageEntry *message_handlers,
Entity::Factory entity_factory,
Entity::CreateMessage::Factory message_factory,
Entity::ExecutionStateEngine::ClassData *execution_class,
Entity::GameModel::Factory model_factory,
Entity::GameModel::Factory obb_factory,
Entity::GameModel::ReadAndVerifier verifier,
Entity::GameModel::ModelWrite model_write_to_text,
Entity::GameModel::ModelSave model_save_to_text
):
Replicator__ClassData(
class_id,
class_name,
parent_class,
message_count,
message_handlers,
(Replicator::Factory)entity_factory,
(Replicator::CreateMessage::Factory)message_factory
),
executionStateClass(execution_class),
modelFactory(model_factory),
obbFactory(obb_factory),
modelVerifier(verifier),
modelWriteToText(model_write_to_text),
modelSaveToText(model_save_to_text),
creationCount(0)
{
//
//----------------------------
// Look for our parent's tables
//----------------------------
//
Entity__ClassData *inheritance;
if (class_id != EntityClassID)
{
//
// Copy the inherited entries
//
inheritance = Cast_Pointer(Entity__ClassData*, parent_class);
Check_Object(inheritance);
attributeTable.CopyFrom(&inheritance->attributeTable);
gameModelAttributeTable.CopyFrom(&inheritance->gameModelAttributeTable);
return;
}
Verify(parent_class->GetClassID() == ReplicatorClassID);
//
//----------------------
// Create the null entry
//----------------------
//
AttributeEntry *attribute_entry =
new AttributeEntry(
Entity::AnyAttributeID,
"AnyAttributeID",
NullClassID,
NULL
);
Register_Object(attribute_entry);
attributeTable.AddAttributeEntry(attribute_entry);
//
//----------------------
// Create the null entry
//----------------------
//
ModelAttributeEntry *model_attribute_entry =
new ModelAttributeEntry(
Entity__GameModel::AnyAttributeID,
"AnyAttributeID",
NullClassID,
NULL
);
Register_Object(model_attribute_entry);
gameModelAttributeTable.AddAttributeEntry(model_attribute_entry);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
Entity__ClassData::~Entity__ClassData()
{
SPEW((
GROUP_ADEPT_ENTITY,
"Entity__ClassData::~Entity__ClassData - %s created %d objects",
className,
creationCount
));
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
Entity__ClassData::TestInstance()
{
Verify(IsDerivedFrom(Entity::DefaultData));
}