From 084eb4714a030bdfb02f010882f903a4e06a388f Mon Sep 17 00:00:00 2001 From: puzl Date: Sat, 6 May 2006 11:35:29 +0000 Subject: [PATCH] o Changed column label for player level in combat o Fixed chamber count display on reconnect git-svn-id: https://unknownworlds.svn.cloudforge.com/ns1@452 67975925-1194-0748-b3d5-c16f83f1a3a1 --- .../3.2.0/source/cl_dll/vgui_ScorePanel.cpp | 15 ++++--- .../3.2.0/source/mod/AvHEntityHierarchy.cpp | 45 ++++++++++--------- .../3.2.0/source/mod/AvHEntityHierarchy.h | 7 ++- releases/3.2.0/source/mod/AvHHud.cpp | 8 +++- releases/3.2.0/source/mod/AvHPlayer.cpp | 32 +++++++++++++ releases/3.2.0/source/mod/AvHPlayer.h | 4 ++ releases/3.2.0/titles.txt | 5 +++ 7 files changed, 87 insertions(+), 29 deletions(-) diff --git a/releases/3.2.0/source/cl_dll/vgui_ScorePanel.cpp b/releases/3.2.0/source/cl_dll/vgui_ScorePanel.cpp index 4d06dd51..225f9706 100644 --- a/releases/3.2.0/source/cl_dll/vgui_ScorePanel.cpp +++ b/releases/3.2.0/source/cl_dll/vgui_ScorePanel.cpp @@ -746,14 +746,17 @@ void ScorePanel::FillGrid() } bool bNextRowIsGap = false; - if ( gHUD.GetIsMarine() ) { - m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#COLWEAP")); - } - else if ( gHUD.GetIsAlien() ) { - m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#COLRES")); + m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#EXTRA")); + if ( strnicmp(gHUD.GetMapName().c_str(), "ns_", 3) == 0 ) { + if ( gHUD.GetIsMarine() ) { + m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#COLWEAP")); + } + else if ( gHUD.GetIsAlien() ) { + m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#COLRES")); + } } else { - m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#EXTRA")); + m_HeaderLabels[COLUMN_EXTRA].setText(CHudTextMessage::BufferedLocaliseTextString("#COLLEVEL")); } for(int row=0; row < NUM_ROWS; row++) diff --git a/releases/3.2.0/source/mod/AvHEntityHierarchy.cpp b/releases/3.2.0/source/mod/AvHEntityHierarchy.cpp index ed3f1a90..7c696fa3 100644 --- a/releases/3.2.0/source/mod/AvHEntityHierarchy.cpp +++ b/releases/3.2.0/source/mod/AvHEntityHierarchy.cpp @@ -68,6 +68,9 @@ AvHEntityHierarchy::AvHEntityHierarchy() void AvHEntityHierarchy::Clear() { + mNumMovement=0; + mNumSensory=0; + mNumDefence=0; this->mEntityList.clear(); } @@ -95,6 +98,18 @@ void AvHEntityHierarchy::GetEntityInfoList(MapEntityMap& outList) const outList = mEntityList; } +int AvHEntityHierarchy::GetNumSensory() const { + return this->mNumSensory; +} + +int AvHEntityHierarchy::GetNumMovement() const { + return this->mNumMovement; +} + +int AvHEntityHierarchy::GetNumDefense() const { + return this->mNumDefence; +} + //////////////// // end shared // //////////////// @@ -129,9 +144,6 @@ int GetHotkeyGroupContainingPlayer(AvHPlayer* player) return -1; } -static int numMovement=0; -static int numSensory=0; -static int numDefence=0; void AvHEntityHierarchy::BuildFromTeam(const AvHTeam* inTeam, BaseEntityListType& inBaseEntityList) { @@ -265,26 +277,17 @@ void AvHEntityHierarchy::BuildFromTeam(const AvHTeam* inTeam, BaseEntityListType } } - if ( inTeam->GetTeamType() == AVH_CLASS_TYPE_ALIEN ) { - sc=min(3, sc); - dc=min(3,dc); - mc=min(3,mc); - if ( numSensory != sc || numDefence != dc || numMovement != mc ) { - numSensory=sc; - numDefence=dc; - numMovement=mc; - int mask=0; - mask |= ( numSensory & 0x3 ); - mask <<= 2; - mask |= ( numDefence & 0x3 ); - mask <<= 2; - mask |= ( numMovement & 0x3 ); - mask |= 0x80; - NetMsg_HUDSetUpgrades(mask); - } + if ( inTeam->GetTeamType() == AVH_CLASS_TYPE_ALIEN ) { + sc=min(3, sc); + dc=min(3,dc); + mc=min(3,mc); + if ( this->mNumSensory != sc || this->mNumDefence != dc || this->mNumMovement != mc ) { + this->mNumSensory=sc; + this->mNumDefence=dc; + this->mNumMovement=mc; } + } } - } // Returns true when something was sent diff --git a/releases/3.2.0/source/mod/AvHEntityHierarchy.h b/releases/3.2.0/source/mod/AvHEntityHierarchy.h index a58e362b..425759df 100644 --- a/releases/3.2.0/source/mod/AvHEntityHierarchy.h +++ b/releases/3.2.0/source/mod/AvHEntityHierarchy.h @@ -110,13 +110,18 @@ public: bool operator!=(const AvHEntityHierarchy& inHierarchy) const; bool operator==(const AvHEntityHierarchy& inHierarchy) const; + int GetNumSensory() const; + int GetNumDefense() const; + int GetNumMovement() const; private: // The encoded entity info that has been sent to clients MapEntityMap mEntityList; - + int mNumMovement; + int mNumSensory; + int mNumDefence; }; #endif \ No newline at end of file diff --git a/releases/3.2.0/source/mod/AvHHud.cpp b/releases/3.2.0/source/mod/AvHHud.cpp index 506a255b..9c820d51 100644 --- a/releases/3.2.0/source/mod/AvHHud.cpp +++ b/releases/3.2.0/source/mod/AvHHud.cpp @@ -660,7 +660,10 @@ void AvHHud::ClearData() this->mHasWelder=false; this->mHasMines=false; - this->mHasGrenades=false; + this->mHasGrenades=false; + this->mNumSensory=0; + this->mNumMovement=0; + this->mNumDefense=0; } @@ -2586,6 +2589,9 @@ void AvHHud::ResetGame(bool inMapChanged) this->mHasGrenades=false; this->mHasMines=false; this->mHasWelder=false; + this->mNumSensory=0; + this->mNumMovement=0; + this->mNumDefense=0; } BIND_MESSAGE(SetGmma); diff --git a/releases/3.2.0/source/mod/AvHPlayer.cpp b/releases/3.2.0/source/mod/AvHPlayer.cpp index 58f1a7d2..08d37220 100644 --- a/releases/3.2.0/source/mod/AvHPlayer.cpp +++ b/releases/3.2.0/source/mod/AvHPlayer.cpp @@ -3579,6 +3579,9 @@ void AvHPlayer::Init() this->mPurchasedCombatUpgrades.clear(); this->mGiveCombatUpgrades.clear(); this->mMarineHUDUpgrades=0; + this->mNumSensory=0; + this->mNumMovement=0; + this->mNumDefense=0; } void AvHPlayer::InitializeFromTeam(float inHealthPercentage, float inArmorPercentage) @@ -7101,6 +7104,9 @@ void AvHPlayer::ResetEntity(void) this->mDesiredNetName = theSavedDesiredNetName; this->mClientInfoLocations = theSavedClientInfoLocations; this->mMarineHUDUpgrades=0; + this->mNumSensory=0; + this->mNumMovement=0; + this->mNumDefense=0; } void AvHPlayer::ResetOverwatch() @@ -9273,6 +9279,32 @@ void AvHPlayer::UpdateAlienUI() this->mClientHiveInfo = theTeamHiveInfo; } } + + if ( theIsAlien ) { + int currentMask=0; + currentMask |= ( this->mNumSensory & 0x3 ); + currentMask <<= 2; + currentMask |= ( this->mNumDefense & 0x3 ); + currentMask <<= 2; + currentMask |= ( this->mNumMovement & 0x3 ); + currentMask |= 0x80; + + int teamMask=0; + AvHEntityHierarchy& theEntHier=GetGameRules()->GetEntityHierarchy(this->GetTeam()); + teamMask |= ( theEntHier.GetNumSensory() & 0x3 ); + teamMask <<= 2; + teamMask |= ( theEntHier.GetNumDefense() & 0x3 ); + teamMask <<= 2; + teamMask |= ( theEntHier.GetNumMovement() & 0x3 ); + teamMask |= 0x80; + + if ( currentMask != teamMask ) { + this->mNumSensory=theEntHier.GetNumSensory(); + this->mNumDefense=theEntHier.GetNumDefense(); + this->mNumMovement=theEntHier.GetNumMovement(); + NetMsg_HUDSetUpgrades(this->pev, teamMask); + } + } } } diff --git a/releases/3.2.0/source/mod/AvHPlayer.h b/releases/3.2.0/source/mod/AvHPlayer.h index d572d405..3f464deb 100644 --- a/releases/3.2.0/source/mod/AvHPlayer.h +++ b/releases/3.2.0/source/mod/AvHPlayer.h @@ -836,6 +836,10 @@ private: string mNetworkID; int mMarineHUDUpgrades; + int mNumMovement; + int mNumSensory; + int mNumDefense; + struct ServerVariable { std::string mName; diff --git a/releases/3.2.0/titles.txt b/releases/3.2.0/titles.txt index 6800651c..b812689f 100644 --- a/releases/3.2.0/titles.txt +++ b/releases/3.2.0/titles.txt @@ -381,6 +381,11 @@ COLWEAP Weapon } +COLLEVEL +{ +Level +} + COLRES { Res