mirror of
https://github.com/tribes2/engine.git
synced 2026-01-20 19:54:46 +00:00
81 lines
2.6 KiB
C++
81 lines
2.6 KiB
C++
//-----------------------------------------------------------------------------
|
|
// V12 Engine
|
|
//
|
|
// Copyright (c) 2001 GarageGames.Com
|
|
// Portions Copyright (c) 2001 by Sierra Online, Inc.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "platform/platform.h"
|
|
#include "game/gameBase.h"
|
|
#include "console/consoleTypes.h"
|
|
#include "console/consoleInternal.h"
|
|
#include "core/bitStream.h"
|
|
#include "sim/netConnection.h"
|
|
#include "game/targetManager.h"
|
|
#include "game/sensor.h"
|
|
|
|
IMPLEMENT_CO_DATABLOCK_V1(SensorData);
|
|
|
|
|
|
SensorData::SensorData()
|
|
{
|
|
detects = true;
|
|
detectsUsingLOS = true;
|
|
detectsPassiveJammed = false;
|
|
detectsActiveJammed = false;
|
|
detectsCloaked = false;
|
|
detectionPings = true;
|
|
detectMinVelocity = 0;
|
|
detectRadius = 250;
|
|
detectsFOVOnly = false;
|
|
detectFOV = 90.0;
|
|
jams = false;
|
|
jamsOnlyGroup = false;
|
|
jamsUsingLOS = false;
|
|
jamRadius = 0;
|
|
detectFOVPercent = 0.f;
|
|
useObjectFOV = false;
|
|
}
|
|
|
|
bool SensorData::onAdd()
|
|
{
|
|
if(!Parent::onAdd())
|
|
return false;
|
|
halfFovCos = mCos(mDegToRad(detectFOV / 2.f));
|
|
detectMinVSquared = detectMinVelocity * detectMinVelocity;
|
|
jamRSquared = jamRadius * jamRadius;
|
|
detectRSquared = detectRadius * detectRadius;
|
|
return true;
|
|
}
|
|
|
|
void SensorData::initPersistFields()
|
|
{
|
|
Parent::initPersistFields();
|
|
addField("detects", TypeBool, Offset(detects, SensorData));
|
|
addField("detectsUsingLOS", TypeBool, Offset(detectsUsingLOS, SensorData));
|
|
addField("detectsActiveJammed", TypeBool, Offset(detectsActiveJammed, SensorData));
|
|
addField("detectsPassiveJammed", TypeBool, Offset(detectsPassiveJammed, SensorData));
|
|
addField("detectsCloaked", TypeBool, Offset(detectsCloaked, SensorData));
|
|
addField("detectionPings", TypeBool, Offset(detectionPings, SensorData));
|
|
addField("detectsFOVOnly", TypeBool, Offset(detectsFOVOnly, SensorData));
|
|
addField("jams", TypeBool, Offset(jams, SensorData));
|
|
addField("jamsOnlyGroup", TypeBool, Offset(jamsOnlyGroup, SensorData));
|
|
addField("jamsUsingLOS", TypeBool, Offset(jamsUsingLOS, SensorData));
|
|
addField("jamRadius", TypeF32, Offset(jamRadius, SensorData));
|
|
addField("detectFOV", TypeF32, Offset(detectFOV, SensorData));
|
|
addField("detectRadius", TypeF32, Offset(detectRadius, SensorData));
|
|
addField("detectMinVelocity", TypeF32, Offset(detectMinVelocity, SensorData));
|
|
addField("detectFOVPercent", TypeF32, Offset(detectFOVPercent, SensorData));
|
|
addField("useObjectFOV", TypeBool, Offset(useObjectFOV, SensorData));
|
|
}
|
|
|
|
void SensorData::packData(BitStream* /*stream*/)
|
|
{
|
|
}
|
|
|
|
void SensorData::unpackData(BitStream* /*stream*/)
|
|
{
|
|
}
|
|
|
|
|