//===========================================================================// // File: btcnsl.hpp // // Project: BattleTech Brick: Console // // Contents: BT->Console network messages (player score/damage/kill feed) // //---------------------------------------------------------------------------// // Copyright (C) 1995, Virtual World Entertainment, Inc. All Rights reserved // // PROPRIETARY AND CONFIDENTIAL // //===========================================================================// // // RECONSTRUCTED. The surviving BTCNSL.CPP implements these classes but its // header (BTCNSL.HPP) was lost. The class names, member layout and // constructor signatures here are recovered verbatim from BTCNSL.CPP; they // all derive from NetworkClient::Message (MUNGA/NETWORK.h) exactly as the // Red Planet analog (RP/RPCNSL.h) does. // // The recovered btplayer.cpp refers to two of these messages by the Red Planet // placeholder names the decompiler emitted (...VTVDamaged / ...VTVScoreUpdate); // the typedefs at the bottom map those to the real BT (Mech) classes so the // reconstructed bodies compile unchanged. // #if !defined(BTCNSL_HPP) # define BTCNSL_HPP # if !defined(CONSOLE_HPP) # include // NetworkClient::Message, HostID, ConsoleClientID # endif //~~~~~~~~~~~~~~~~~~~~~~~~~ Console Message IDs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Stream IDs for the BT->console feed (values mirror the RP layout; the exact // numbers are not load-bearing for the reconstruction -- they only need to be // distinct stream tags). // enum { ConsolePlayerMechKilledMessageID = 2, ConsolePlayerMechScoreUpdateMessageID = 3, ConsoleBTTeamScoreUpdateMessageID = 4, ConsolePlayerMechDamagedMessageID = 5, ConsolePlayerMechDeathWithoutHonorMessageID = 6 }; //~~~~~~~~~~~~~~~~~~ ConsolePlayerMechKilledMessage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class ConsolePlayerMechKilledMessage: public NetworkClient::Message { public: ConsolePlayerMechKilledMessage( HostID player_host_ID, HostID killer_host_ID ); HostID GetPlayerHostID() { return playerHostID; } HostID GetKillerHostID() { return killerHostID; } private: HostID playerHostID; HostID killerHostID; }; //~~~~~~~~~~~~~~~~~~ ConsolePlayerMechScoreUpdateMessage ~~~~~~~~~~~~~~~~~~~~~~~~ class ConsolePlayerMechScoreUpdateMessage: public NetworkClient::Message { public: ConsolePlayerMechScoreUpdateMessage( HostID player_host_ID, int score ); HostID GetPlayerHostID() { return playerHostID; } int GetPlayerScore() { return playerScore; } private: HostID playerHostID; int playerScore; }; //~~~~~~~~~~~~~~~~~~ ConsoleBTTeamScoreUpdateMessage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class ConsoleBTTeamScoreUpdateMessage: public NetworkClient::Message { public: ConsoleBTTeamScoreUpdateMessage( int team_ID, int score ); int GetTeamID() { return teamID; } int GetTeamScore() { return teamScore; } private: int teamID; int teamScore; }; //~~~~~~~~~~~~~~~~~~ ConsolePlayerMechDamagedMessage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class ConsolePlayerMechDamagedMessage: public NetworkClient::Message { public: ConsolePlayerMechDamagedMessage( HostID player_host_ID, HostID damager_host_ID, int loss, int damage_zone_index, Logical damage_zone_destroyed, int points_transfered, int weapon_index ); HostID GetPlayerHostID() { return playerHostID; } HostID GetDamagerHostID() { return damagerHostID; } int GetDamageLoss() { return damageLoss; } int GetPointsTransfered() { return pointsTransfered; } int GetDamageZoneIndex() { return damageZoneIndex; } Logical GetDamageZoneDestroyed(){ return damageZoneDestroyed; } int GetWeaponIndex() { return weaponIndex; } private: HostID playerHostID; HostID damagerHostID; int damageLoss; int pointsTransfered; int damageZoneIndex; Logical damageZoneDestroyed; int weaponIndex; }; //~~~~~~~~~~~~~~~ ConsolePlayerMechDeathWithoutHonorMessage ~~~~~~~~~~~~~~~~~~~~~ class ConsolePlayerMechDeathWithoutHonorMessage: public NetworkClient::Message { public: ConsolePlayerMechDeathWithoutHonorMessage( HostID player_host_ID ); HostID GetPlayerHostID() { return playerHostID; } private: HostID playerHostID; }; //~~~~~~~~~~~~~~~~~~~~~~ decompiler placeholder aliases ~~~~~~~~~~~~~~~~~~~~~~~~~~ // btplayer.cpp (recovered) names these two by the Red Planet form. typedef ConsolePlayerMechDamagedMessage ConsolePlayerVTVDamagedMessage; typedef ConsolePlayerMechScoreUpdateMessage ConsolePlayerVTVScoreUpdateMessage; #endif