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

202 lines
4.8 KiB
C++

//===========================================================================//
// File: lranlyzr.hpp
// Project: LabRat
// Contents:
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 07/12/96 JSE Initial coding.
//---------------------------------------------------------------------------//
// Copyright (C) 1996, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include "LabRatdoc.h"
#if !defined (LRANLYZR_HPP)
# define LRANLYZR_HPP
#define START_MESSAGE_ID WM_USER + 6
#define LAST_MESSAGE_ID WM_USER + 56
#define ON_ID START_MESSAGE_ID
#define OFF_ID START_MESSAGE_ID + 1
#define LOGICANALYZER_ID START_MESSAGE_ID + 2
class TraceAnalyzerRegistry;
class TraceAnalyzer;
# if !defined (STYLE_HPP)
# include "style.hpp"
# endif
#include "storage.hpp"
#include "AnalyzeBox.h"
// Only 50 are allowed without changing last_message_id
//##########################################################################
//####################### TraceAnalyzerRegistry
//##########################################################################
#define REGISTER_ANALYZER(name) analyzerList.AddTail((CObject *)new name);
class TraceAnalyzerRegistry :
public CObject
{
public:
CObList analyzerList;
TraceAnalyzerRegistry(void);
~TraceAnalyzerRegistry(void);
CMenu *CreateMenu(int type);
void Analyze(CChildFrame *parent, int indexOfTrace, int nID);
};
//##########################################################################
//####################### TraceAnalyzer
//##########################################################################
class TraceAnalyzer : public CObject
{
protected:
CString textLabel;
public:
virtual ~TraceAnalyzer(void)
{;}
virtual int * GetAvailableTraces(int &count)
{count = 0; return NULL;}
CString GetTextLabel()
{
return textLabel;
}
virtual int GetMessageID(void)
{return -1;}
virtual void RunAnalyzer(CChildFrame * /*parent*/, int /*indexOfTrace*/)
{;}
Logical WorkWithTraceType(int type);
};
//##########################################################################
//####################### OnAnalyzer
//##########################################################################
class OnAnalyzer : public TraceAnalyzer
{
public:
int compatableTracesCount;
int *compatableTraces;
OnAnalyzer(void);
~OnAnalyzer(void)
{
delete[] compatableTraces;
}
virtual int * GetAvailableTraces(int &count)
{count = compatableTracesCount; return compatableTraces;}
int GetMessageID(void)
{return ON_ID;}
void RunAnalyzer(CChildFrame *parent, int indexOfTrace);
};
//##########################################################################
//####################### OffAnalyzer
//##########################################################################
class OffAnalyzer : public TraceAnalyzer
{
public:
int compatableTracesCount;
int *compatableTraces;
OffAnalyzer(void);
~OffAnalyzer(void)
{
delete[] compatableTraces;
}
virtual int * GetAvailableTraces(int &count)
{count = compatableTracesCount; return compatableTraces;}
int GetMessageID(void)
{return OFF_ID;}
void RunAnalyzer(CChildFrame *parent, int indexOfTrace);
};
//##########################################################################
//####################### LogicalAnalyzer
//##########################################################################
class LogicalAnalyzer : public TraceAnalyzer
{
public:
int compatableTracesCount;
int *compatableTraces;
LogicalAnalyzer(void);
~LogicalAnalyzer(void)
{
delete[] compatableTraces;
}
virtual int * GetAvailableTraces(int &count)
{count = compatableTracesCount; return compatableTraces;}
int GetMessageID(void)
{return LOGICANALYZER_ID;}
void RunAnalyzer(CChildFrame *parent, int indexOfTrace);
void
AnalyzeTrace(
CChildFrame *parent,
AnalyzeBox *box,
TraceLine *trace_line,
Time start_time,
Time end_time,
Time &grand_total_time_up
);
};
#endif