Files
firestorm/Gameleap/code/mw4/Code/MW4/NetSubsystems.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
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.
2026-06-24 21:28:16 -05:00

252 lines
8.7 KiB
C++

//===========================================================================//
// File: NetSubystems.hpp
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 01/06/2000 JSE Inital coding
//---------------------------------------------------------------------------//
// Copyright (C) 1998, Microsoft Corp. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#pragma once
#include "NetConstants.hpp"
#include "NetUpdateManager.hpp"
namespace MechWarrior4
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class MechInternalHeatUpdate
{
public:
enum {
HeatEntryID = 0,
CoolantEntryID,
UpdateEntryCount
};
enum {
UpdateType = UpdateManager::MechInternalHeatUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location){return true;};
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class SubsystemUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::SubsystemUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity);
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location);
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class FlushUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::FlushUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location);
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class SearchLightUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::SearchLightUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location);
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class InternalAMSAmmoUpdate
{
public:
enum {
AmmoEntryID = 0,
UpdateEntryCount
};
enum {
UpdateType = UpdateManager::InternalAMSAmmoUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location){return true;};
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class ExternalAMSAmmoUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::ExternalAMSAmmoUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location);
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class ExternalJumpJetUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::ExternalJumpJetUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location);
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class InternalJumpJetUpdate
{
public:
enum {
UpdateEntryCount = 0
};
enum {
UpdateType = UpdateManager::InternalJumpJetUpdateID
};
static void Decode(Entity *entity, MemoryStream *memory_stream, Time till, Scalar packet_latency, int connection, int debug_level, int bandwidth, Scalar rate);
static void Skip(MemoryStream *memory_stream, int size, Time till, int connection, int debug_level, int bandwidth);
static void Encode(Entity *entity, DynamicMemoryStream *memory_stream, int connection, int debug_level, int bandwidth);
static int SizeFunction(Entity *entity){return -1;};
static int MaxSize(Entity *entity, int debug_level, int bandwidth);
static bool MaintainActiveFlagFunction(Entity *entity,Point3D cull_location){return true;};
static int GetUpdateEntryCount(){return UpdateEntryCount;};
static int GetUpdateEntryType(){return UpdateType;};
};
};