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.
380 lines
6.9 KiB
C++
380 lines
6.9 KiB
C++
//===========================================================================//
|
|
// File: traceline.hpp
|
|
// Project: LabRat
|
|
// Contents:
|
|
//---------------------------------------------------------------------------//
|
|
// Date Who Modification //
|
|
// -------- --- ---------------------------------------------------------- //
|
|
// 03/20/96 JSE Initial coding.
|
|
//---------------------------------------------------------------------------//
|
|
// Copyright (C) 1996, Virtual World Entertainment, Inc. //
|
|
// All Rights reserved worldwide //
|
|
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
|
|
//===========================================================================//
|
|
|
|
#if !defined (TRACELINE_HPP)
|
|
# define TRACELINE_HPP
|
|
|
|
class TraceLine;
|
|
|
|
#include "style.hpp"
|
|
#include "storage.hpp"
|
|
#include "LabRatDoc.h"
|
|
|
|
|
|
#include "ChildFrm.h"
|
|
|
|
#define BORDER_SIZE 10
|
|
#define TOGGLE_SIZE 25
|
|
#define DEFAULT_SIZE 15
|
|
#define INTEGER_SIZE 35
|
|
#define SCALAR_SIZE 35
|
|
#define SCALER_SIZE 35
|
|
#define MIN_TRACE_SIZE 15
|
|
#define BOX_MINIMUM 3
|
|
|
|
|
|
#define TOGGLE_ARRAY_SIZE MAX_WIDTH * 3
|
|
#define MARKER_ARRAY_SIZE MAX_WIDTH * 3
|
|
#define INTEGER_ARRAY_SIZE MAX_WIDTH * 3
|
|
#define SCALAR_ARRAY_SIZE MAX_WIDTH * 3
|
|
|
|
|
|
//##########################################################################
|
|
//####################### TraceLine
|
|
//##########################################################################
|
|
|
|
class TraceLine :
|
|
public CObject
|
|
{
|
|
|
|
public:
|
|
|
|
Time
|
|
startTime,
|
|
endTime,
|
|
timeToPixel;
|
|
|
|
int
|
|
firstTraceIndex,
|
|
lastTraceIndex;
|
|
|
|
int
|
|
realFirstTraceIndex,
|
|
realLastTraceIndex;
|
|
|
|
CString
|
|
traceName;
|
|
int
|
|
traceNumber;
|
|
|
|
Logical
|
|
alreadyWorking;
|
|
|
|
Logical
|
|
traceMade;
|
|
|
|
BOOL
|
|
on;
|
|
|
|
BOOL
|
|
selected;
|
|
|
|
Time
|
|
startSelection,
|
|
endSelection;
|
|
|
|
MY_RGB
|
|
traceColor;
|
|
|
|
int
|
|
traceHeight;
|
|
|
|
CLabRatDoc
|
|
*document;
|
|
|
|
CChildFrame
|
|
*myParent;
|
|
|
|
CObarrayHolder
|
|
*dataHolder;
|
|
|
|
public:
|
|
TraceLine();
|
|
virtual ~TraceLine();
|
|
|
|
virtual int GetTraceType();
|
|
|
|
virtual void
|
|
Draw(int offset);
|
|
|
|
virtual void
|
|
DrawName(int offset);
|
|
|
|
virtual void
|
|
DrawLine(int offset);
|
|
|
|
virtual void
|
|
DrawCurrentValue(int offset, Time timeOfValue);
|
|
|
|
virtual int
|
|
CalculateSize(void);
|
|
|
|
virtual Logical
|
|
MakeTrace(
|
|
Time start_time,
|
|
Time end_time,
|
|
Time time_to_pixel
|
|
);
|
|
|
|
virtual void
|
|
AdjustHeight()
|
|
{;}
|
|
|
|
|
|
virtual void
|
|
SetMinMax(void)
|
|
{;}
|
|
|
|
};
|
|
|
|
//##########################################################################
|
|
//####################### ToggleTraceLine
|
|
//##########################################################################
|
|
|
|
class ToggleTraceLine :
|
|
public TraceLine
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
enum {
|
|
DrawTrace,
|
|
DoubleTrace,
|
|
StartBox,
|
|
EndBox
|
|
};
|
|
|
|
int drawtype;
|
|
|
|
int
|
|
traceArray[TOGGLE_ARRAY_SIZE];
|
|
|
|
BYTE
|
|
traceMode[TOGGLE_ARRAY_SIZE];
|
|
|
|
ToggleTraceLine(void);
|
|
~ToggleTraceLine(void);
|
|
|
|
int GetTraceType();
|
|
|
|
void
|
|
Draw(int offset);
|
|
|
|
void
|
|
DrawCurrentValue(int offset, Time timeOfValue);
|
|
|
|
int
|
|
CalculateSize(void);
|
|
|
|
Logical
|
|
MakeTrace(
|
|
Time start_time,
|
|
Time end_time,
|
|
Time timeToPixel);
|
|
};
|
|
|
|
//##########################################################################
|
|
//####################### MarkerTraceLine
|
|
//##########################################################################
|
|
|
|
class MarkerTraceLine :
|
|
public TraceLine
|
|
{
|
|
|
|
|
|
public:
|
|
MarkerTraceLine(void);
|
|
~MarkerTraceLine(void);
|
|
|
|
int GetTraceType();
|
|
|
|
void
|
|
Draw(int offset);
|
|
|
|
void
|
|
DrawName(int /*offset*/)
|
|
{ }
|
|
|
|
void
|
|
DrawCurrentValue(int /*offset*/, Time /*timeOfValue*/)
|
|
{ }
|
|
|
|
int
|
|
traceArray[MAX_WIDTH];
|
|
|
|
BYTE
|
|
traceMode[MAX_WIDTH];
|
|
|
|
Logical
|
|
MakeTrace(
|
|
Time start_time,
|
|
Time end_time,
|
|
Time timeToPixel);
|
|
};
|
|
|
|
|
|
//##########################################################################
|
|
//####################### IntegerTraceLine
|
|
//##########################################################################
|
|
|
|
class IntegerTraceLine :
|
|
public TraceLine
|
|
{
|
|
|
|
|
|
public:
|
|
int min, max, adjustToZero;
|
|
float valueToPixel;
|
|
|
|
enum {
|
|
DrawTrace,
|
|
StartDouble,
|
|
MinTrace,
|
|
MaxTrace,
|
|
EndDouble
|
|
};
|
|
|
|
int
|
|
traceArray[INTEGER_ARRAY_SIZE];
|
|
|
|
BYTE
|
|
traceMode[INTEGER_ARRAY_SIZE];
|
|
|
|
|
|
IntegerTraceLine(void);
|
|
~IntegerTraceLine(void);
|
|
|
|
int GetTraceType();
|
|
|
|
void
|
|
DrawCurrentValue(int offset, Time timeOfValue);
|
|
|
|
void
|
|
Draw(int offset);
|
|
|
|
int
|
|
CalculateSize(void);
|
|
|
|
void
|
|
SetMinMax(void);
|
|
|
|
Logical
|
|
MakeTrace(
|
|
Time start_time,
|
|
Time end_time,
|
|
Time timeToPixel);
|
|
|
|
void
|
|
AdjustHeight()
|
|
{
|
|
adjustToZero = 0 - min;
|
|
if (max == min)
|
|
valueToPixel = 0.0f;
|
|
else
|
|
valueToPixel = (float)traceHeight / (float)(max - min);
|
|
}
|
|
|
|
};
|
|
|
|
//##########################################################################
|
|
//####################### ScalarTraceLine
|
|
//##########################################################################
|
|
|
|
class ScalarTraceLine :
|
|
public TraceLine
|
|
{
|
|
|
|
|
|
public:
|
|
Scalar min, max, adjustToZero;
|
|
float valueToPixel;
|
|
|
|
enum {
|
|
DrawTrace,
|
|
StartDouble,
|
|
MinTrace,
|
|
MaxTrace,
|
|
EndDouble
|
|
};
|
|
|
|
int
|
|
traceArray[SCALAR_ARRAY_SIZE];
|
|
|
|
BYTE
|
|
traceMode[SCALAR_ARRAY_SIZE];
|
|
|
|
|
|
ScalarTraceLine(void);
|
|
~ScalarTraceLine(void);
|
|
|
|
int GetTraceType();
|
|
|
|
void
|
|
DrawCurrentValue(int offset, Time timeOfValue);
|
|
|
|
void
|
|
Draw(int offset);
|
|
|
|
int
|
|
CalculateSize(void);
|
|
|
|
void
|
|
SetMinMax(void);
|
|
|
|
Logical
|
|
MakeTrace(
|
|
Time start_time,
|
|
Time end_time,
|
|
Time timeToPixel);
|
|
|
|
void
|
|
AdjustHeight()
|
|
{
|
|
adjustToZero = 0 - min;
|
|
if (max == min)
|
|
valueToPixel = 0.0f;
|
|
else
|
|
valueToPixel = (float)traceHeight / (float)(max - min);
|
|
}
|
|
};
|
|
|
|
//##########################################################################
|
|
//####################### EntityTraceLine
|
|
//##########################################################################
|
|
|
|
|
|
class ReceiverMessageTraceLine :
|
|
public ScalarTraceLine
|
|
{
|
|
public:
|
|
enum CurrentValueDrawModes{
|
|
DrawID,
|
|
DrawName,
|
|
DrawPosition
|
|
};
|
|
|
|
int drawMode;
|
|
|
|
ReceiverMessageTraceLine::ReceiverMessageTraceLine(void)
|
|
{ ScalarTraceLine(); drawMode = DrawName; }
|
|
|
|
int GetTraceType();
|
|
|
|
void
|
|
DrawCurrentValue(int offset, Time timeOfValue);
|
|
|
|
};
|
|
#endif
|