Files
firestorm/Gameleap/code/mw4/Libraries/Adept/GUIStatBar.cpp
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

178 lines
3.2 KiB
C++

#include "AdeptHeaders.hpp"
#include "GUIStatBar.hpp"
#include "Tool.hpp"
//#############################################################################
//########################### GUIStatBar #################################
//#############################################################################
GUIStatBar::ClassData*
GUIStatBar::DefaultData = NULL;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::InitializeClass()
{
Verify(!DefaultData);
DefaultData =
new ClassData(
GUIStatBarClassID,
"Adept::GUIStatBar",
GUIObject::DefaultData,
0,
NULL
);
Register_Object(DefaultData);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::TerminateClass()
{
Unregister_Object(DefaultData);
delete DefaultData;
DefaultData = NULL;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
GUIStatBar::GUIStatBar(
ClassData *class_data,
MemoryStream *stream
):
GUIObject(class_data, stream)
{
Check_Pointer(this);
Check_Object(stream);
baseValue = -1.0f;
currentValue = -1.0f;
dataPointer = NULL;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
GUIStatBar::GUIStatBar(
ClassData *class_data,
Page *instance_page
):
GUIObject(class_data, instance_page)
{
Check_Pointer(this);
Check_Object(instance_page);
const char *bar_type;
instance_page->GetEntry("StatBarType", &bar_type, true);
if(!strcmp(bar_type, "VerticalDown"))
{
statBarType = VerticalDownType;
}
else if(!strcmp(bar_type, "VerticalUp"))
{
statBarType = VerticalUpType;
}
else if(!strcmp(bar_type, "HorizontalLeft"))
{
statBarType = HorizontalLeftType;
}
else if(!strcmp(bar_type, "HorizontalRight"))
{
statBarType = HorizontalRightType;
}
else
{
statBarType = -1;
}
baseValue = -1.0f;
currentValue = -1.0f;
dataPointer = NULL;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::Save(MemoryStream *stream)
{
Check_Object(this);
Check_Object(stream);
GUIObject::Save(stream);
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
GUIStatBar::~GUIStatBar()
{
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::LinkStatBar(Scalar base_value, Scalar *value)
{
Check_Object(this);
Check_Pointer(value);
Verify(base_value >= 0);
baseValue = base_value;
currentValue = *value;
dataPointer = value;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::Draw()
{
Check_Object(this);
if(!currentValue)
return;
if(statBarType == -1)
return;
switch(statBarType)
{
case VerticalUpType:
{
break;
}
case VerticalDownType:
{
break;
}
case HorizontalRightType:
{
break;
}
case HorizontalLeftType:
{
break;
}
};
GUIObject::Draw();
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
GUIStatBar::TestInstance()
{
Verify(IsDerivedFrom(DefaultData));
}