Files
CydandClaude Fable 5 fdd9ac9d97 Initial import: Tesla Release 4.10 (Tesla:BattleTech & Tesla:Red Planet)
Archival snapshot of the Virtual World Entertainment Tesla cockpit
software, 1994-1996: MUNGA engine and L4 pod layer source (Borland
C++ 5.0), BT/RP game code, and game content (models, audio, maps,
gauges, Division renderer data). Includes third-party libraries:
Division dVS/DPL graphics, HMI SOS audio, WATTCP networking.

Files are preserved byte-for-byte (.gitattributes disables all
line-ending conversion). README.md documents the layout, target
hardware, and toolchain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 13:21:58 -05:00

164 lines
5.4 KiB
C++

//===========================================================================//
// File: entity2.hh //
// Project: MUNGA Brick: Entity Manager //
// Contents: Interface specification for entity class //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 11/29/94 JMA Initial coding. //
//---------------------------------------------------------------------------//
// Copyright (C) 1994, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#if defined(ENTITY_CONTINUATION)
# if !defined(ENTITYID_HPP)
# include <entityid.hpp>
# endif
class Entity;
class Entity__SharedData;
class Entity__MakeMessage;
class Entity__TakeDamageMessage;
class Entity__PlayerLinkMessage;
class Entity__DynamicMessage;
class Entity__UpdateMessage;
class Entity__MakeMapMessage;
class Entity__TakeDamageStreamMessage;
class Entity__DestroyEntityMessage;
class EntityID;
//
//---------------------------------------------------
// Support types for entity identity and host manager
//---------------------------------------------------
//
//##########################################################################
//####################### Entity::Message ############################
//##########################################################################
class Entity__Message:
public Receiver::Message
{
public:
//
// The following fields need to be filled in by the sending manager
//
enum {
DontSpoolBit = Receiver::Message::NextBit,
NextBit
};
enum {
DontSpoolFlag = 1 << DontSpoolBit
};
// This field will be already set for map entities
EntityID
entityID;
InterestZoneID
interestZoneID;
HostID
ownerID;
Entity__Message(
Receiver::MessageID messageID,
size_t length
):
Receiver::Message(messageID, length),
entityID(EntityID::Null),
interestZoneID(NullInterestZoneID),
ownerID(NullHostID)
{}
// This constructor exists for constructing map entities
Entity__Message(
Receiver::MessageID messageID,
size_t length,
const EntityID &entity_ID
):
Receiver::Message(messageID, length),
entityID(entity_ID),
interestZoneID(NullInterestZoneID),
ownerID(NullHostID)
{}
};
//
// Various typedefs for unimplemented messages
//
typedef Entity__Message Entity__MakeReadyMessage;
typedef Entity__Message Entity__RemakeEntityMessage;
typedef Entity__Message Entity__RemakeReadyMessage;
typedef Entity__Message Entity__RemakeCompleteMessage;
typedef Entity__Message Entity__RemakeIncompleteMessage;
typedef Entity__Message Entity__TransferEntityMessage;
typedef Entity__Message Entity__TransferCompleteMessage;
typedef Entity__Message Entity__TransferIncompleteMessage;
typedef Entity__Message Entity__BecomeInterestingMessage;
typedef Entity__Message Entity__BecomeUninterestingMessage;
typedef Entity__Message Entity__SubscribeReplicantMessage;
typedef Entity__Message Entity__UnsubscribeReplicantMessage;
//##########################################################################
//############# Entity::StaticVideoSocketIterator ####################
//##########################################################################
class Entity__StaticVideoSocketIterator:
public SChainIteratorOf<Component*>
{
public:
Entity__StaticVideoSocketIterator(Entity *entity);
Entity__StaticVideoSocketIterator(
const Entity__StaticVideoSocketIterator &iterator
);
~Entity__StaticVideoSocketIterator();
};
//##########################################################################
//############ Entity::DynamicVideoSocketIterator ####################
//##########################################################################
class Entity__DynamicVideoSocketIterator:
public SChainIteratorOf<Component*>
{
public:
Entity__DynamicVideoSocketIterator(Entity *entity);
Entity__DynamicVideoSocketIterator(
const Entity__DynamicVideoSocketIterator &iterator
);
~Entity__DynamicVideoSocketIterator();
};
//##########################################################################
//################ Entity::AudioSocketIterator #######################
//##########################################################################
class Entity__AudioSocketIterator:
public SChainIteratorOf<Component*>
{
public:
Entity__AudioSocketIterator(Entity *entity);
~Entity__AudioSocketIterator();
};
//##########################################################################
//#################### Entity::UpdateRecord ##########################
//##########################################################################
struct Entity__UpdateRecord:
public Simulation__UpdateRecord
{
public:
Origin localOrigin;
};
#endif