Files
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

85 lines
1.6 KiB
C++

#include "MW4Headers.hpp"
#include "hudcomp.hpp"
#include "hudhelp.hpp"
#include "objective.hpp"
using namespace MechWarrior4;
HUDHelp::HUDHelp()
{
Location (Point3D (0.5f,0.29f,0.9f));
Size (Point3D (0.32f,0.25f,0.9f));
Color (25,25,25,250);
m_Message = new HUDText ();
m_Message->UpdateText ("");
m_Message->Justification(HUDText::LEFT_ALIGN);
m_Message->Color (255,255,255,255);
m_FlashTime = 0;
}
HUDHelp::~HUDHelp()
{
delete m_Message;
}
void HUDHelp::NewMessage (Objective *mesg)
{
Check_Object (mesg);
m_Message->UpdateText (mesg->CurrentText ());
m_FlashCount = 0;
}
void HUDHelp::Update (Stuff::Time till)
{
if (m_FlashTime == 0)
m_FlashTime = till;
while ((m_FlashTime <= till) && (m_FlashCount < 25))
{
m_Flash = !m_Flash;
m_FlashTime += 1.0/6.0;
m_FlashCount++;
}
inherited::Update (till);
}
void HUDHelp::Reset (void)
{
m_Message->UpdateText ("");
}
void HUDHelp::DrawImplementation(void)
{
Point3D loc,size;
if (m_Message->Empty ())
return;
loc = Location ();
size = Size ();
if (m_FlashCount >= 25)
m_Flash = true;
DWORD x,y;
m_Message->TopLeft (100,175);
m_Message->BottomRight (700,500);
m_Message->DrawSize (x,y);
size.x = x+6.0f;
size.y = y+6.0f;
loc.x -= size.x / 2.0f;
DrawRect (loc,size,Color ());
if (m_Flash)
{
DrawFrame (loc,size,MakeColor (255,255,255,255));
}
loc.x += 3;
size.x -= 6;
m_Message->TopLeft (loc.x,loc.y);
m_Message->BottomRight (loc.x+size.x,loc.y+size.y);
m_Message->Draw (Point3D (loc.x,loc.y+2,0.9f));
}