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>
163 lines
4.6 KiB
C++
163 lines
4.6 KiB
C++
//===========================================================================//
|
|
// File: scnrole.hpp //
|
|
// Project: MUNGA //
|
|
// Contents: Scenario Mission Specific Data //
|
|
//---------------------------------------------------------------------------//
|
|
// Date Who Modification //
|
|
// -------- --- ---------------------------------------------------------- //
|
|
// 01/9/96 JM initial coding //
|
|
//---------------------------------------------------------------------------//
|
|
// Copyright (C) 1995, Virtual World Entertainment, Inc. //
|
|
// All Rights reserved worldwide //
|
|
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
|
|
//===========================================================================//
|
|
|
|
#if !defined (SCNROLE_HPP)
|
|
# define SCNROLE_HPP
|
|
|
|
# if !defined (NODE_HPP)
|
|
# include <node.hpp>
|
|
# endif
|
|
|
|
# if !defined (CSTR_HPP)
|
|
# include <cstr.hpp>
|
|
# endif
|
|
|
|
# if !defined(RESOURCE_HPP)
|
|
# include <resource.hpp>
|
|
# endif
|
|
|
|
# if !defined(SCALAR_HPP)
|
|
# include <scalar.hpp>
|
|
# endif
|
|
|
|
class NotationFile;
|
|
|
|
//##############################################################################
|
|
//##################### ScenarioRole::ModelResource ######################
|
|
//##############################################################################
|
|
|
|
struct ScenarioRole__ModelResource
|
|
{
|
|
Scalar
|
|
killBonus,
|
|
damageReceivedModifier,
|
|
damageInflictedModifier,
|
|
damageBias,
|
|
friendlyFirePenalty;
|
|
|
|
int
|
|
returnFromDeath;
|
|
};
|
|
|
|
//###########################################################################
|
|
//##################### Class ScenarioRole #############################
|
|
//###########################################################################
|
|
|
|
class ScenarioRole :
|
|
public Node
|
|
{
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Score Support
|
|
//
|
|
public:
|
|
|
|
Scalar
|
|
CalcDamageReceivedScore(const Scalar &damage_received);
|
|
|
|
protected:
|
|
|
|
Scalar
|
|
damageInflictedModifier,
|
|
damageReceivedModifier,
|
|
friendlyFirePenalty,
|
|
damageBias,
|
|
killBonus;
|
|
|
|
CString
|
|
roleName;
|
|
|
|
int
|
|
returnFromDeath;
|
|
|
|
public:
|
|
|
|
const int
|
|
GetReturnFromDeath()
|
|
{ Check(this); return returnFromDeath; }
|
|
|
|
Scalar
|
|
GetDamageInflictedModifier() const
|
|
{ Check(this); return damageInflictedModifier; }
|
|
|
|
Scalar
|
|
GetDamageReceivedModifier() const
|
|
{ Check(this); return damageReceivedModifier; }
|
|
|
|
Scalar
|
|
GetFriendlyFirePenalty() const
|
|
{ Check(this); return friendlyFirePenalty; }
|
|
|
|
Scalar
|
|
GetDamageBias() const
|
|
{ Check(this); return damageBias; }
|
|
|
|
Scalar
|
|
GetKillBonus() const
|
|
{ Check(this); return killBonus; }
|
|
|
|
CString
|
|
GetRoleName() const
|
|
{Check(this); return roleName; }
|
|
|
|
void
|
|
SetDamageInflictedModifier(const Scalar &value)
|
|
{ Check(this); damageInflictedModifier = value; }
|
|
|
|
void
|
|
SetDamageReceivedModifier(const Scalar value)
|
|
{ Check(this); damageReceivedModifier = value; }
|
|
|
|
void
|
|
SetFriendlyFirePenalty(const Scalar &value)
|
|
{ Check(this); friendlyFirePenalty = value; }
|
|
|
|
void
|
|
SetDamageBias(const Scalar &value)
|
|
{ Check(this); damageBias = value; }
|
|
|
|
void
|
|
SetKillBonus(const Scalar &value)
|
|
{ Check(this); killBonus = value; }
|
|
|
|
void
|
|
SetReturnFromDeath(const int &value)
|
|
{ Check(this); returnFromDeath = value ; }
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Construction / Destruction
|
|
|
|
public:
|
|
|
|
typedef ScenarioRole__ModelResource ModelResource;
|
|
|
|
ScenarioRole(
|
|
const CString &role_name,
|
|
const CString &model_file
|
|
);
|
|
|
|
ScenarioRole(const CString &role_name);
|
|
|
|
~ScenarioRole();
|
|
|
|
static ResourceDescription::ResourceID
|
|
CreateModelResource(
|
|
ResourceFile *resource_file,
|
|
const char* model_name,
|
|
NotationFile * model_file,
|
|
const ResourceDirectories *directories,
|
|
ModelResource *model = NULL
|
|
);
|
|
};
|
|
#endif
|