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

159 lines
4.0 KiB
C++

//===========================================================================//
// File: rp4lbe4.cc //
// Project: MUNGA Brick: Red Planet LBE Application //
// Contents: //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// //
//---------------------------------------------------------------------------//
// Copyright (C) 1994, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include <rpl4.hpp>
#pragma hdrstop
#if !defined(RPTOOL_HPP)
# include <rptool.hpp>
#endif
#if !defined(RPL4MODE_HPP)
# include <rpl4mode.hpp>
#endif
#if !defined(L4TOOL_HPP)
# include <l4tool.hpp>
#endif
#if !defined(RPL4VER_HPP)
# include <rpl4ver.hpp>
#endif
class RPL4Tool:
public L4Tool
{
public:
RPL4Tool();
~RPL4Tool();
Logical
ConvertStringToModeMask(
const char *string,
ModeMask *returned_value_ptr
);
protected:
RPL4ModeManager
*modeManager;
};
//----------------------------------------------------------------------
RPL4Tool::RPL4Tool() :
L4Tool()
{
Check_Pointer(this);
modeManager = new RPL4ModeManager(RPL4ModeManager::ModeInitial);
Register_Object(modeManager);
// gaugeAlarmManager = new RPL4GaugeAlarmManager();
// Register_Object(gaugeAlarmManager);
Check_Fpu();
}
//----------------------------------------------------------------------
RPL4Tool::~RPL4Tool()
{
// Check(this);
// Unregister_Object(gaugeAlarmManager);
// delete gaugeAlarmManager;
// gaugeAlarmManager = NULL;
Unregister_Object(modeManager);
delete modeManager;
modeManager = NULL;
Check_Fpu();
}
//----------------------------------------------------------------------
Logical
RPL4Tool::ConvertStringToModeMask(
const char *name,
ModeMask *returned_value
)
{
// Check(this);
Check_Pointer(name);
Check_Pointer(returned_value);
Check(modeManager);
Check_Fpu();
return modeManager->ModeStringLookup(name, returned_value);
}
//##########################################################################
//################## RP4L4Application Globals ########################
//##########################################################################
extern const char* const ProgName;
const char* const ProgName = "rpl4tool";
//
//#############################################################################
// main
//#############################################################################
//
int
main(int argc, char *argv[])
{
int status;
if (argc < 3)
{
Usage:
DEBUG_STREAM << "Building Usage: rpl4tool -b rpl4.bld [res2.bld]\n"
<< " Listing Usage: rpl4tool -l rpl4.res [res2.res ...]\n";
status = 1;
}
else
{
RPL4Tool
rpl4_tool;
RPTool
rp_l4_tool(&rpl4_tool);
L4AudioCreateSymbols
create_symbols;
if (!strcmp(argv[1], "-b"))
{
status =
rp_l4_tool.BuildResources(
argc-1,
&argv[1],
create_symbols,
MINOR_DATA_VERSION
);
}
else if (!strcmp(argv[1], "-l"))
{
status =
rp_l4_tool.ListResources(
argc-1,
&argv[1]
);
}
else
{
DEBUG_STREAM << "Error: Unknown tool switch!\n";
goto Usage;
}
}
Stop_Registering();
return status;
}