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

110 lines
2.9 KiB
C++

//===========================================================================//
// File: update.hh //
// Project: MUNGA Brick: Update Manager //
// Contents: //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 12/20/94 ECH Initial coding. //
//---------------------------------------------------------------------------//
// Copyright (C) 1994-1995, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#if !defined(UPDATE_HPP)
# define UPDATE_HPP
#if !defined(NODE_HPP)
# include <node.hpp>
#endif
#if !defined(TIME_HPP)
# include <time.hpp>
#endif
# if !defined(MEMBLOCK_HPP)
# include <memblock.hpp>
# endif
# if !defined(SIMULATE_HPP)
# include <simulate.hpp>
# endif
class UpdateManager;
class SimulationEncore:
public Plug
{
friend class UpdateManager;
private:
static MemoryBlock AllocatedMemory;
void*
operator new(size_t)
{return AllocatedMemory.New();}
void
operator delete(void *where)
{AllocatedMemory.Delete(where);}
Simulation *encoreSimulation;
Simulation::Encore encoreCallback;
Logical runWatchers;
SimulationEncore(
Simulation *sim,
Simulation::Encore callback
);
~SimulationEncore();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UpdateManager ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class UpdateManager:
public Node
{
public:
//
//--------------------------------------------------------------------
// Construction, Destruction
//--------------------------------------------------------------------
//
UpdateManager();
~UpdateManager();
Logical
TestInstance() const;
//
//--------------------------------------------------------------------
// Execute
//
// Perform update management functions
//--------------------------------------------------------------------
//
void
Execute(Time target_render_time);
//
//----------------------------------------------------------------------
// CreateEncore
//
// Registers a callback to be executed after all entity performances are
// completed
//----------------------------------------------------------------------
//
void
RequestEncore(
Simulation *simulation,
Simulation::Encore encore
);
protected:
ChainOf<SimulationEncore*>
simulationEncores;
};
#endif