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>
145 lines
4.3 KiB
C++
145 lines
4.3 KiB
C++
//===========================================================================//
|
|
// File: rndorgn.hh //
|
|
// Project: MUNGA Brick: Interest Manager //
|
|
// Contents: Interface specifications for interest manager //
|
|
//---------------------------------------------------------------------------//
|
|
// Date Who Modification //
|
|
// -------- --- -----------------------------------------------------------//
|
|
// 01/18/95 ECH Initial coding. //
|
|
//---------------------------------------------------------------------------//
|
|
// Copyright (C) 1995, Virtual World Entertainment, Inc. //
|
|
// All Rights reserved worldwide //
|
|
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
|
|
//===========================================================================//
|
|
|
|
#if !defined(RNDORGN_HPP)
|
|
# define RNDORGN_HPP
|
|
|
|
# if !defined(INTORGN_HPP)
|
|
# include <intorgn.hpp>
|
|
# endif
|
|
|
|
# if !defined(SCHAIN_HPP)
|
|
# include <schain.hpp>
|
|
# endif
|
|
|
|
//##########################################################################
|
|
//####################### RendererOrigin #############################
|
|
//##########################################################################
|
|
|
|
class Renderer;
|
|
class Entity;
|
|
|
|
class RendererOrigin:
|
|
public InterestOrigin
|
|
{
|
|
friend class RendererOrigin__InterestingEntityIterator;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Public types
|
|
//
|
|
public:
|
|
typedef RendererOrigin__InterestingEntityIterator
|
|
InterestingEntityIterator;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Constructor, Destructor, and Testing
|
|
//
|
|
public:
|
|
RendererOrigin(
|
|
Renderer *renderer,
|
|
Entity *entity,
|
|
InterestType interest_type,
|
|
InterestDepth depth_calibration
|
|
);
|
|
~RendererOrigin();
|
|
Logical
|
|
TestInstance() const;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Interest Manager support
|
|
//
|
|
private:
|
|
void
|
|
AddInterestingEntity(Entity *interesting_entity);
|
|
void
|
|
RemoveUninterestingEntity(Entity *uninteresting_entity);
|
|
void
|
|
RemoveUninterestingEntities();
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Private data
|
|
//
|
|
private:
|
|
Renderer*
|
|
renderer;
|
|
SChainOf<Entity*>
|
|
interestingEntitySocket;
|
|
};
|
|
|
|
//~~~~~~~~~~~~~~~~~ RendererOrigin__InterestingEntityIterator ~~~~~~~~~~~~~~
|
|
|
|
class RendererOrigin__InterestingEntityIterator:
|
|
public SChainIteratorOf<Entity*>
|
|
{
|
|
public:
|
|
RendererOrigin__InterestingEntityIterator(RendererOrigin *renderer_origin);
|
|
~RendererOrigin__InterestingEntityIterator();
|
|
};
|
|
|
|
#if 0
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RendererOrigin ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
//
|
|
//--------------------------------------------------------------------
|
|
// RendererOrigin
|
|
//
|
|
// Represent a renderers origin of interest.
|
|
//--------------------------------------------------------------------
|
|
//
|
|
|
|
class RendererOrigin:
|
|
public InterestOrigin
|
|
{
|
|
public:
|
|
//
|
|
//--------------------------------------------------------------------
|
|
// Constructor, Destructor, and Testing
|
|
//--------------------------------------------------------------------
|
|
//
|
|
RendererOrigin(
|
|
const EntityID &entity_ID,
|
|
InterestType interest_type,
|
|
InterestDepth depth_calibration,
|
|
Renderer *renderer
|
|
);
|
|
~RendererOrigin();
|
|
Logical
|
|
TestInstance() const;
|
|
|
|
//
|
|
//--------------------------------------------------------------------
|
|
// Interest Manager support
|
|
//--------------------------------------------------------------------
|
|
//
|
|
void
|
|
AddInterestingEntity(Entity *interesting_entity);
|
|
void
|
|
RemoveUninterestingEntity(Entity *uninteresting_entity);
|
|
void
|
|
RemoveUninterestingEntities();
|
|
|
|
protected:
|
|
//
|
|
//--------------------------------------------------------------------
|
|
// Protected data
|
|
//--------------------------------------------------------------------
|
|
//
|
|
SlotOf<Renderer*>
|
|
rendererSocket;
|
|
};
|
|
#endif
|
|
|
|
#endif
|
|
|