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

169 lines
3.5 KiB
C++

#pragma once
#include "Adept.hpp"
namespace Adept
{
class GUITextObject;
//##########################################################################
//########################### GUIDebugTextObject ######################
//##########################################################################
class GUIDebugText:
public Plug
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construction, Destruction
//
public:
GUIDebugText(
const char *debug_label,
void *data,
int type
);
~GUIDebugText();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Functions
//
public:
void
Draw();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Public Data
//
public:
enum{
IntType = 0,
ScalarType,
StringType,
Vector3DType,
YawPitchRollType
};
void
*debugData;
Stuff::MString
debugLabel;
int
debugType;
};
//####################################################################
//########################### GUITextManager ####################
//####################################################################
typedef Plug__ClassData GUITextManager__ClassData;
class GUITextManager:
public Plug
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Inheritance Support
//
public:
typedef GUITextManager__ClassData ClassData;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Construction, Destruction
//
public:
static void
InitializeClass();
static void
TerminateClass();
GUITextManager(ClassData *class_data);
~GUITextManager();
void
TestInstance();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class Data support
//
public:
static ClassData
*DefaultData;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// GUI Initialization
//
public:
void
ReadObjectsFromNotation(Stuff::NotationFile *gui_contents);
void
SaveObjectsToStream(Stuff::MemoryStream *stream);
void
ReadObjectsFromStream(Stuff::MemoryStream *stream);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// GUI Text Simulation
//
public:
void
Execute();
GUITextObject
*MakeNewTextObject(
const char *display_string,
int x_location,
int y_location,
HGOSFONT3D font_handle = NULL
);
void
AddTextObject(GUITextObject *text_object);
void
RemoveTextObject(GUITextObject *text_object);
void
RemoveTextObject(const MString& text_object_name);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// GUI Debug Text Simulation
//
public:
GUIDebugText
*MakeNewDebugTextObject(
const char *debug_label,
void *value,
int type
);
void
RemoveDebugTextObject(const char *debug_label);
void
DrawDebugWindow();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Public Data
//
public:
ChainOf<GUITextObject *>
guiTextObjects;
SortedChainOf<GUIDebugText *, MString>
guiDebugTextObjects;
HGOSFONT3D
debugFontHandle;
bool
debugScreenVisible;
static GUITextManager*
GetInstance()
{
return reinterpret_cast<GUITextManager *>( GlobalPointers::GetGlobalPointer(GUITextManagerGlobalPointerIndex));
};
};
}