Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
719 lines
44 KiB
C++
719 lines
44 KiB
C++
//===========================================================================//
|
|
// File: NetBitDepts.cpp
|
|
//---------------------------------------------------------------------------//
|
|
// Date Who Modification //
|
|
// -------- --- ---------------------------------------------------------- //
|
|
// 01/06/1999 JSE Inital coding
|
|
//---------------------------------------------------------------------------//
|
|
// Copyright (C) 1998, Microsoft Corp. //
|
|
// All Rights reserved worldwide //
|
|
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
|
|
//===========================================================================//
|
|
|
|
|
|
#include "MW4Headers.hpp"
|
|
|
|
#include "NetConstants.hpp"
|
|
#include "MWEntityManager.hpp"
|
|
#include "NetUpdateManager.hpp"
|
|
#include "Dictionary.hpp"
|
|
|
|
void BitDepthManager::InitilizeBitDepths(void)
|
|
{
|
|
|
|
randomKey = Random::GetInt();
|
|
|
|
lowBitDepths = new int *[UpdateManager::GetUpdateCount()];
|
|
medBitDepths = new int *[UpdateManager::GetUpdateCount()];
|
|
highBitDepths = new int *[UpdateManager::GetUpdateCount()];
|
|
|
|
|
|
updateRates[LowBandwidth] = new UpdateRate [UpdateManager::GetUpdateCount()];
|
|
updateRates[MediumBandwidth] = new UpdateRate [UpdateManager::GetUpdateCount()];
|
|
updateRates[HighBandwidth] = new UpdateRate [UpdateManager::GetUpdateCount()];
|
|
|
|
|
|
for (int i = 0; i < UpdateManager::GetUpdateCount(); ++i)
|
|
{
|
|
Verify(UpdateManager::UpdateEntries[i].GetUpdateID() == i);
|
|
|
|
|
|
|
|
if (UpdateManager::GetUpdateEntryCount(i) > 0)
|
|
{
|
|
lowBitDepths[i] = new int[UpdateManager::GetUpdateEntryCount(i)];
|
|
Register_Pointer(lowBitDepths[i]);
|
|
medBitDepths[i] = new int[UpdateManager::GetUpdateEntryCount(i)];
|
|
Register_Pointer(medBitDepths[i]);
|
|
highBitDepths[i] = new int[UpdateManager::GetUpdateEntryCount(i)];
|
|
Register_Pointer(highBitDepths[i]);
|
|
|
|
for (int j = 0; j < UpdateManager::GetUpdateEntryCount(i); ++j)
|
|
{
|
|
|
|
int *current_bit_depth = &lowBitDepths[i][j];
|
|
*current_bit_depth = -1;
|
|
|
|
current_bit_depth = &medBitDepths[i][j];
|
|
*current_bit_depth = -1;
|
|
|
|
current_bit_depth = &highBitDepths[i][j];
|
|
*current_bit_depth = -1;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// put in a generic scamble here
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Mech Full Position
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(MechPositionUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::XPositionUpdateEntryID]=23^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::YAboveTerrainUpdateEntryID]=23^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ZPositionUpdateUpdateEntryID]=23^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentRotationUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoPitchUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoYawUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentSpeedUpdateEntryID]=7^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentXVelocityEntryID]=8^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentYVelocityEntryID]=12^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentZVelocityEntryID]=13^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::RotationDemandUpdateEntryID]=5^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::SpeedDemandUpdateEntryID]=7^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoPichDemandUpdateEntryID]=5^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoYawDemandUpdateEntryID]=5^231;
|
|
lowBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ViewDemandUpdateEntryID]=2^231;
|
|
|
|
|
|
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::XPositionUpdateEntryID]=23^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::YAboveTerrainUpdateEntryID]=23^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ZPositionUpdateUpdateEntryID]=23^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentRotationUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoPitchUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoYawUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentSpeedUpdateEntryID]=7^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentXVelocityEntryID]=16^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentYVelocityEntryID]=24^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentZVelocityEntryID]=24^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::RotationDemandUpdateEntryID]=5^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::SpeedDemandUpdateEntryID]=7^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoPichDemandUpdateEntryID]=5^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoYawDemandUpdateEntryID]=5^231;
|
|
medBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ViewDemandUpdateEntryID]=2^231;
|
|
|
|
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::XPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::YAboveTerrainUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ZPositionUpdateUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentRotationUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoPitchUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentTorsoYawUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentSpeedUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentXVelocityEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentYVelocityEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::CurrentZVelocityEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::RotationDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::SpeedDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoPichDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::TorsoYawDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::MechPositionUpdateID][MechPositionUpdate::ViewDemandUpdateEntryID]=2^231;
|
|
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Mech Animation
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(MechAnimationUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentSimulationStateUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::AnimationStateUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TransitionStateUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentPositionUpdateEntryID]=4^231;
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TranisitonPositionUpdateEntryID]=4^231;
|
|
lowBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::NewPositionUpdateEntryID]=4^231;
|
|
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentSimulationStateUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::AnimationStateUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TransitionStateUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentPositionUpdateEntryID]=4^231;
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TranisitonPositionUpdateEntryID]=4^231;
|
|
medBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::NewPositionUpdateEntryID]=4^231;
|
|
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentSimulationStateUpdateEntryID]=6^231;
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::AnimationStateUpdateEntryID]=6^231;
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TransitionStateUpdateEntryID]=6^231;
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::CurrentPositionUpdateEntryID]=4^231;
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::TranisitonPositionUpdateEntryID]=4^231;
|
|
highBitDepths[UpdateManager::MechAnimationUpdateID][MechAnimationUpdate::NewPositionUpdateEntryID]=4^231;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// WeaponCommandID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(WeaponCommand::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetXEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetYEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetZEntryID]=7^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainXEntryID]=20^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainZEntryID]=20^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetXEntryID]=20^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetYEntryID]=20^231;
|
|
lowBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetZEntryID]=10^231;
|
|
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetXEntryID]=9^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetYEntryID]=9^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetZEntryID]=7^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainXEntryID]=20^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainZEntryID]=20^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetXEntryID]=20^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetYEntryID]=20^231;
|
|
medBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetZEntryID]=10^231;
|
|
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetXEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetYEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TargetOffsetZEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainXEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::TerrainZEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetXEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetYEntryID]=31^231;
|
|
highBitDepths[UpdateManager::WeaponCommandID][WeaponCommand::NoTargetZEntryID]=31^231;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// MechInternalDamageUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(MechInternalDamageUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::MechInternalDamageUpdateID][MechInternalDamageUpdate::InternalDamageEntryID]=5^231;
|
|
|
|
medBitDepths[UpdateManager::MechInternalDamageUpdateID][MechInternalDamageUpdate::InternalDamageEntryID]=6^231;
|
|
|
|
highBitDepths[UpdateManager::MechInternalDamageUpdateID][MechInternalDamageUpdate::InternalDamageEntryID]=8^231;
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// MechInternalHeatUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(MechInternalHeatUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::HeatEntryID]=4^231;
|
|
lowBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::CoolantEntryID]=4^231;
|
|
|
|
medBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::HeatEntryID]=4^231;
|
|
medBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::CoolantEntryID]=4^231;
|
|
|
|
highBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::HeatEntryID]=4^231;
|
|
highBitDepths[UpdateManager::MechInternalHeatUpdateID][MechInternalHeatUpdate::CoolantEntryID]=4^231;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// InternalAMSAmmoUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(InternalAMSAmmoUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::InternalAMSAmmoUpdateID][InternalAMSAmmoUpdate::AmmoEntryID]=4^231;
|
|
|
|
medBitDepths[UpdateManager::InternalAMSAmmoUpdateID][InternalAMSAmmoUpdate::AmmoEntryID]=4^231;
|
|
|
|
highBitDepths[UpdateManager::InternalAMSAmmoUpdateID][InternalAMSAmmoUpdate::AmmoEntryID]=4^231;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// AirMovementUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(AirMovementUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::XPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::ZPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawPositionUpdateEntryID]=16^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchPositionUpdateEntryID]=16^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollPositionUpdateEntryID]=16^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::CurrentSpeedUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::SpeedDemandUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawDemandUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchDemandUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollDemandUpdateEntryID]=6^231;
|
|
|
|
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::XPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::ZPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawPositionUpdateEntryID]=16^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchPositionUpdateEntryID]=16^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollPositionUpdateEntryID]=16^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::CurrentSpeedUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::SpeedDemandUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawDemandUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchDemandUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollDemandUpdateEntryID]=6^231;
|
|
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::XPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::ZPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::CurrentSpeedUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::SpeedDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::YawDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::PitchDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::AirMovementUpdateID][AirMovementUpdate::RollDemandUpdateEntryID]=31^231;
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// GroundMovementUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(GroundMovementUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::XPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::ZPositionUpdateEntryID]=24^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawPositionUpdateEntryID]=16^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::CurrentSpeedUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::SpeedDemandUpdateEntryID]=6^231;
|
|
lowBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawDemandUpdateEntryID]=6^231;
|
|
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::XPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::ZPositionUpdateEntryID]=24^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawPositionUpdateEntryID]=16^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::CurrentSpeedUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::SpeedDemandUpdateEntryID]=6^231;
|
|
medBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawDemandUpdateEntryID]=6^231;
|
|
|
|
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::XPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::ZPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::CurrentSpeedUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::SpeedDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::GroundMovementUpdateID][GroundMovementUpdate::YawDemandUpdateEntryID]=31^231;
|
|
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// TorsoMovementUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Verify(TorsoMovementUpdate::GetUpdateEntryCount()>0);
|
|
lowBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoPositionUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoPositionUpdateEntryID]=9^231;
|
|
lowBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoDemandUpdateEntryID]=8^231;
|
|
lowBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoDemandUpdateEntryID]=8^231;
|
|
|
|
medBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoPositionUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoPositionUpdateEntryID]=9^231;
|
|
medBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoDemandUpdateEntryID]=8^231;
|
|
medBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoDemandUpdateEntryID]=8^231;
|
|
|
|
highBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoPositionUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::PitchTorsoDemandUpdateEntryID]=31^231;
|
|
highBitDepths[UpdateManager::TorsoMovementUpdateID][TorsoMovementUpdate::YawTorsoDemandUpdateEntryID]=31^231;
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// FlagUpdateID
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
lowBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::XPositionUpdateEntryID]=20^231;
|
|
lowBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::ZPositionUpdateEntryID]=20^231;
|
|
|
|
medBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::XPositionUpdateEntryID]=20^231;
|
|
medBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::ZPositionUpdateEntryID]=20^231;
|
|
|
|
highBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::XPositionUpdateEntryID]=20^231;
|
|
highBitDepths[UpdateManager::FlagUpdateID][FlagUpdate::ZPositionUpdateEntryID]=20^231;
|
|
|
|
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~ Update Rates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
bitDepths[LowBandwidth] = lowBitDepths;
|
|
bitDepths[MediumBandwidth] = medBitDepths;
|
|
bitDepths[HighBandwidth] = highBitDepths;
|
|
|
|
// make sure everything is inited
|
|
|
|
// set the update rates...
|
|
|
|
int current_update = UpdateManager::MechPositionUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechAnimationUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechMovemntUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechExternalDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechFirstPersonPositionUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechFirstPersonControlUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::WeaponCommandID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MissionObjectiveUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechInternalDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::MechInternalHeatUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::SubsystemUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::FlushUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::SearchLightUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::InternalAMSAmmoUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::ExternalAMSAmmoUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::NearBuildingExternalDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::SecondaryBuildingExternalDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::FarBuildingExternalDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::ExternalJumpJetUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::InternalJumpJetUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::VehicleDamageUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::AirMovementUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::GroundMovementUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::TurretMovementUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::TorsoMovementUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::ThreeHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::SixHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::NavPointUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::EightHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::FlagUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::TwoHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::FourHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::TimeUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::SecurityQueryID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::SecurityResponseID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::OneHzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
current_update = UpdateManager::PingUpdateID;
|
|
updateRates[LowBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_ActiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[LowBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[MediumBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
updateRates[HighBandwidth][current_update].m_InactiveRate = DictionaryPage::HalfhzBit;
|
|
|
|
// quickly unscramble it and re-scramble it with a rotating scramble
|
|
// and do the verify
|
|
#ifdef _ARMOR
|
|
for (i = 0; i < UpdateManager::GetUpdateCount(); ++i)
|
|
{
|
|
Verify(updateRates[LowBandwidth][i].m_ActiveRate != -1);
|
|
Verify(updateRates[LowBandwidth][i].m_InactiveRate != -1);
|
|
Verify(updateRates[MediumBandwidth][i].m_ActiveRate != -1);
|
|
Verify(updateRates[MediumBandwidth][i].m_InactiveRate != -1);
|
|
Verify(updateRates[HighBandwidth][i].m_ActiveRate != -1);
|
|
Verify(updateRates[HighBandwidth][i].m_InactiveRate != -1);
|
|
|
|
if (UpdateManager::GetUpdateEntryCount(i) > 0)
|
|
{
|
|
for (int j = 0; j < UpdateManager::GetUpdateEntryCount(i); ++j)
|
|
{
|
|
|
|
|
|
|
|
|
|
int current_bit_depth = bitDepths[LowBandwidth][i][j]^231;
|
|
|
|
Verify(current_bit_depth > 0);
|
|
Verify(current_bit_depth < 32);
|
|
|
|
current_bit_depth = bitDepths[MediumBandwidth][i][j]^231;
|
|
|
|
Verify(current_bit_depth > 0);
|
|
Verify(current_bit_depth < 32);
|
|
|
|
current_bit_depth = bitDepths[HighBandwidth][i][j]^231;
|
|
|
|
Verify(current_bit_depth > 0);
|
|
Verify(current_bit_depth < 32);
|
|
}
|
|
}
|
|
}
|
|
#endif
|
|
|
|
|
|
for (i = 0; i < UpdateManager::GetUpdateCount(); ++i)
|
|
{
|
|
|
|
if (UpdateManager::GetUpdateEntryCount(i) > 0)
|
|
{
|
|
for (int j = 0; j < UpdateManager::GetUpdateEntryCount(i); ++j)
|
|
{
|
|
|
|
|
|
|
|
|
|
int current_bit_depth = bitDepths[LowBandwidth][i][j]^231;
|
|
bitDepths[LowBandwidth][i][j] = current_bit_depth ^ randomKey;
|
|
|
|
|
|
current_bit_depth = bitDepths[MediumBandwidth][i][j]^231;
|
|
bitDepths[MediumBandwidth][i][j] = current_bit_depth ^ randomKey;
|
|
|
|
|
|
current_bit_depth = bitDepths[HighBandwidth][i][j]^231;
|
|
bitDepths[HighBandwidth][i][j] = current_bit_depth ^ randomKey;
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
void BitDepthManager::TerminateBitDepths(void)
|
|
{
|
|
|
|
for (int i = 0; i < UpdateManager::GetUpdateCount(); ++i)
|
|
{
|
|
if (UpdateManager::GetUpdateEntryCount(i) > 0)
|
|
{
|
|
Unregister_Pointer(lowBitDepths[i]);
|
|
delete[] lowBitDepths[i];
|
|
Unregister_Pointer(medBitDepths[i]);
|
|
delete[] medBitDepths[i];
|
|
Unregister_Pointer(highBitDepths[i]);
|
|
delete[] highBitDepths[i];
|
|
}
|
|
}
|
|
Unregister_Pointer(lowBitDepths);
|
|
delete[] lowBitDepths;
|
|
|
|
Unregister_Pointer(medBitDepths);
|
|
delete[] medBitDepths;
|
|
|
|
Unregister_Pointer(highBitDepths);
|
|
delete[] highBitDepths;
|
|
|
|
|
|
delete [] updateRates[LowBandwidth];
|
|
delete [] updateRates[MediumBandwidth];
|
|
delete [] updateRates[HighBandwidth];
|
|
|
|
|
|
}
|
|
|
|
|
|
int BitDepthManager::BitDepth( int row, int column, int bit_range)
|
|
{
|
|
|
|
MWEntityManager *manager = Cast_Object(MWEntityManager*, EntityManager::GetInstance());
|
|
|
|
// put in da de-scramble here.
|
|
|
|
Verify(bit_range >= 0);
|
|
Verify(bit_range < BandwidthTypeCount);
|
|
|
|
return manager->bitManager->bitDepths[bit_range][row][column]^manager->bitManager->randomKey;
|
|
|
|
}
|
|
|
|
UpdateRate BitDepthManager::GetUpdateRate(int update_type, int bandwidth)
|
|
{
|
|
|
|
MWEntityManager *manager = Cast_Object(MWEntityManager*, EntityManager::GetInstance());
|
|
|
|
return manager->bitManager->updateRates[bandwidth][update_type];
|
|
|
|
}
|