Files
TeslaRel410/restoration/source410/BT/MESSMGR.CPP
T
CydandClaude Fable 5 30c77fc9fc Mech phase 2: reconstruct the last 6 segment-walk subsystem classes
Completes every class the Mech-ctor segment walk instantiates: Reservoir
(: HeatSink), Searchlight + ThermalSight (: PowerWatcher), MechTech + Subsystem-
MessageManager (: Subsystem, surviving CODE headers), Actuator (: MechSubsystem
fallback). All ctors chain their parents; per-frame methods staged. Full subsystem
roster (~22 classes) reconstructed. BT: 42 ok; tree links clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 00:37:45 -05:00

102 lines
2.8 KiB
C++

//===========================================================================//
// File: messmgr.cpp //
// Project: BattleTech Brick: Mech subsystems //
// Contents: SubsystemMessageManager -- the per-mech damage/explosion hub //
//---------------------------------------------------------------------------//
// Copyright (C) 1995, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include <bt.hpp>
#pragma hdrstop
#if !defined(MESSMGR_HPP)
# include <messmgr.hpp>
#endif
#if !defined(MECH_HPP)
# include <mech.hpp>
#endif
Derivation
SubsystemMessageManager::ClassDerivations(
Subsystem::ClassDerivations,
"SubsystemMessageManager"
);
SubsystemMessageManager::SharedData
SubsystemMessageManager::DefaultData(
SubsystemMessageManager::ClassDerivations,
Subsystem::MessageHandlers,
Subsystem::AttributeIndex,
Subsystem::StateCount
);
SubsystemMessageManager::SubsystemMessageManager(
Mech *owner,
int subsystem_ID,
SubsystemResource *sub_res,
SharedData &shared_data
):
Subsystem(owner, subsystem_ID, sub_res, shared_data),
weaponExplosions(NULL, False),
damageInformation(NULL, False)
{
Check(owner);
Check_Pointer(sub_res);
rendererCompensateTime = 0.0f;
terrainHitExplosionID = ResourceDescription::NullResourceID;
Check_Fpu();
}
SubsystemMessageManager::~SubsystemMessageManager()
{
}
Logical
SubsystemMessageManager::TestInstance() const
{
return IsDerivedFrom(ClassDerivations);
}
//
//#############################################################################
// The per-frame damage/explosion consolidation. Not yet reconstructed.
//#############################################################################
//
void
SubsystemMessageManager::ConsolidateAndSendDamage(Scalar)
{
Fail("SubsystemMessageManager::ConsolidateAndSendDamage -- messmgr.cpp not yet reconstructed");
}
void
SubsystemMessageManager::CreateWeaponExplosions(Logical, EntityID, Point3D)
{
Fail("SubsystemMessageManager::CreateWeaponExplosions -- messmgr.cpp not yet reconstructed");
}
void
SubsystemMessageManager::AddDamageMessage(Entity *, Entity__TakeDamageMessage *)
{
Fail("SubsystemMessageManager::AddDamageMessage -- messmgr.cpp not yet reconstructed");
}
Logical
SubsystemMessageManager::CreateStreamedSubsystem(
ResourceFile *,
NotationFile *,
const char *,
const char *,
SubsystemResource *,
NotationFile *,
const ResourceDirectories *
)
{
Fail("SubsystemMessageManager::CreateStreamedSubsystem -- messmgr.cpp not yet reconstructed");
return False;
}