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

180 lines
4.3 KiB
C++

//===========================================================================//
// File: apptask.hpp //
// Project: MUNGA Brick: Application //
// Contents: Interface specification for Application //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 08/24/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(APPTASK_HPP)
# define APPTASK_HPP
# if !defined(STYLE_HPP)
# include <style.hpp>
# endif
# if !defined(CMPNNT_HPP)
# include <cmpnnt.hpp>
# endif
# if !defined(SCHAIN_HPP)
# include <schain.hpp>
# endif
# if defined(TRACE_COMPLETE_CYCLES)
extern BitTrace Complete_Cycles;
# define SET_COMPLETE_CYCLES() Complete_Cycles.Set()
# define CLEAR_COMPLETE_CYCLES() Complete_Cycles.Clear()
# else
# define SET_COMPLETE_CYCLES()
# define CLEAR_COMPLETE_CYCLES()
# endif
# if defined(TRACE_DEATH_ROW)
extern BitTrace Death_Row;
# define SET_DEATH_ROW() Death_Row.Set()
# define CLEAR_DEATH_ROW() Death_Row.Clear()
# else
# define SET_DEATH_ROW()
# define CLEAR_DEATH_ROW()
# endif
//##########################################################################
//####################### ApplicationTask ############################
//##########################################################################
class ApplicationTask:
public Component
{
public:
ApplicationTask(ClassID class_ID = ApplicationTaskClassID);
~ApplicationTask();
};
//##########################################################################
//####################### BackgroundTasks ############################
//##########################################################################
class BackgroundTasks:
public Component
{
public:
BackgroundTasks();
~BackgroundTasks();
Logical
TestInstance() const;
void
AddTask(ApplicationTask *task);
void
Execute();
private:
SChainOf<ApplicationTask*>
taskSocket;
SChainIteratorOf<ApplicationTask*>
*taskIterator;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~ NetworkManagerTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class NetworkManagerTask:
public ApplicationTask
{
public:
NetworkManagerTask() {}
~NetworkManagerTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ RoutePacketTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class RoutePacketTask:
public ApplicationTask
{
public:
RoutePacketTask() {}
~RoutePacketTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~ ProcessEventTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class ProcessEventTask:
public ApplicationTask
{
public:
ProcessEventTask() {}
~ProcessEventTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~ AudioRendererTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class AudioRendererTask:
public ApplicationTask
{
public:
AudioRendererTask() {}
~AudioRendererTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~ GaugeRendererTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class GaugeRendererTask:
public ApplicationTask
{
public:
GaugeRendererTask() {}
~GaugeRendererTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~ CompleteCyclesTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class CompleteCyclesTask:
public ApplicationTask
{
public:
CompleteCyclesTask() {}
~CompleteCyclesTask() {}
void
Execute();
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ FryDeathRowTask ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class FryDeathRowTask:
public ApplicationTask
{
public:
FryDeathRowTask() {}
~FryDeathRowTask() {}
void
Execute();
};
#endif