Files
TeslaRel410/CODE/RP/MUNGA/AUDTOOLS.CPP
T
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

161 lines
4.6 KiB
C++

//===========================================================================//
// File: l4audres.cpp //
// Project: MUNGA Brick: Audio Renderer Manager //
// Contents: //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 05/10/95 ECH Initial coding. //
//---------------------------------------------------------------------------//
// Copyright (C) 1994, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include <munga.hpp>
#pragma hdrstop
#if !defined(AUDTOOLS_HPP)
# include <audtools.hpp>
#endif
#include <fstream.h>
#include <io.h>
#include <sys\stat.h>
#if !defined(AUDIO_HPP)
# include <audio.hpp>
#endif
#if !defined(BOXSOLID_HPP)
# include <boxsolid.hpp>
#endif
//#############################################################################
//###################### AudioCreateSymbols #############################
//#############################################################################
//
//#############################################################################
//#############################################################################
//
AudioCreateSymbols::AudioCreateSymbols()
{
}
//
//#############################################################################
//#############################################################################
//
AudioCreateSymbols::~AudioCreateSymbols()
{
}
//
//#############################################################################
//#############################################################################
//
void
AudioCreateSymbols::MakeFileReadWrite(const CString &file_name)
{
if (access(file_name, 0) == 0)
{
int amode = S_IREAD|S_IWRITE;
#if DEBUG_LEVEL>0
int ret =
#endif
chmod(file_name, amode);
Verify(ret == 0);
}
}
//
//#############################################################################
//#############################################################################
//
void
AudioCreateSymbols::Execute()
{
//
// Make file read/write
//
CString file_name("audio\\symbols.scp");
MakeFileReadWrite(file_name);
//
// Open the file for writing
//
ofstream symbol_file(file_name, ios::out);
Verify(symbol_file);
symbol_file << "[macro]\n";
//
// Audio
//
WriteEntryStream(symbol_file);
}
//
//#############################################################################
//#############################################################################
//
void
AudioCreateSymbols::WriteEntryStream(ofstream &symbol_file)
{
#define WRITE_ENTRY(name)\
{\
Verify(symbol_file);\
symbol_file << #name;\
symbol_file << "=";\
symbol_file << name;\
symbol_file << "\n";\
}
//
// Solids
//
WRITE_ENTRY(BoxedSolid::StoneMaterial);
WRITE_ENTRY(BoxedSolid::GravelMaterial);
WRITE_ENTRY(BoxedSolid::ConcreteMaterial);
WRITE_ENTRY(BoxedSolid::WoodMaterial);
WRITE_ENTRY(BoxedSolid::RockMaterial);
WRITE_ENTRY(BoxedSolid::OurCraftMaterial);
WRITE_ENTRY(BoxedSolid::OtherCraftMaterial);
//
// Audio
//
WRITE_ENTRY(TransientAudioRenderType);
WRITE_ENTRY(SustainedAudioRenderType);
WRITE_ENTRY(MinAudioSourcePriority);
WRITE_ENTRY(LowAudioSourcePriority);
WRITE_ENTRY(MedAudioSourcePriority);
WRITE_ENTRY(HighAudioSourcePriority);
WRITE_ENTRY(MaxAudioSourcePriority);
WRITE_ENTRY(MinAudioSourceMixPresence);
WRITE_ENTRY(LowAudioSourceMixPresence);
WRITE_ENTRY(MedAudioSourceMixPresence);
WRITE_ENTRY(HighAudioSourceMixPresence);
WRITE_ENTRY(MaxAudioSourceMixPresence);
WRITE_ENTRY(ManualAudioSourceMixPresence);
WRITE_ENTRY(NullAudioControlID);
WRITE_ENTRY(NoteAudioControlID);
WRITE_ENTRY(AttackVolumeAudioControlID);
WRITE_ENTRY(AttackTimeAudioControlID);
WRITE_ENTRY(DurationAudioControlID);
WRITE_ENTRY(VolumeAudioControlID);
WRITE_ENTRY(PitchAudioControlID);
WRITE_ENTRY(BrightnessAudioControlID);
WRITE_ENTRY(StartAudioControlID);
WRITE_ENTRY(StopAudioControlID);
WRITE_ENTRY(IdleAudioControlID);
WRITE_ENTRY(FlushMessagesAudioControlID);
WRITE_ENTRY(TempoAudioControlID);
}