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.
198 lines
5.6 KiB
C++
198 lines
5.6 KiB
C++
//===========================================================================//
|
|
// File: notation.hpp //
|
|
// Title: Declaration of NotationFile classes. //
|
|
// Project: Munga //
|
|
// Author: Ken Olsen //
|
|
// Purpose: Provide general purpose access to data stored in a formatted //
|
|
// text file. //
|
|
//---------------------------------------------------------------------------//
|
|
// Date Who Modification //
|
|
// -------- --- ---------------------------------------------------------- //
|
|
// 01/06/95 KEO Converted from Tool Architecture I. //
|
|
// 02/07/95 KEO Add AppendEntry methods. //
|
|
// 02/17/95 KEO Change page and entry lists to make nomenclature. //
|
|
// 03/24/95 KEO Add methods to read and write text in memory. //
|
|
// 03/31/95 KEO Add methods for lab only mark. //
|
|
// 05/23/95 KEO Add getfilename, setpage and appendpage. //
|
|
// 11/11/95 KEO Add operation modes and correct small bugs. //
|
|
// 04/01/97 GAH Added "DeleteAllPages" method. //
|
|
//---------------------------------------------------------------------------//
|
|
// Copyright (c) 1994-1995 Virtual World Entertainment, Inc. //
|
|
// Copyright (c) 1996-1997 Fasa Interactive Technologies, Inc. //
|
|
// All rights reserved worldwide. //
|
|
// This unpublished source code is PROPRIETARY and CONFIDENTIAL. //
|
|
//===========================================================================//
|
|
|
|
#pragma once
|
|
|
|
#include "Stuff.hpp"
|
|
#include "Page.hpp"
|
|
|
|
namespace Stuff {
|
|
|
|
//##########################################################################
|
|
//############## Note ##############################
|
|
//##########################################################################
|
|
|
|
class Note:
|
|
public Plug
|
|
{
|
|
friend class NotationFile;
|
|
friend class Page;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Constructors
|
|
//
|
|
protected:
|
|
Note(Page *page):
|
|
Plug(DefaultData)
|
|
{m_page = page;}
|
|
|
|
Page
|
|
*m_page;
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Note functions
|
|
//
|
|
public:
|
|
void
|
|
SetName(const char *entryname)
|
|
{Check_Object(this); Check_Pointer(entryname); m_name = entryname; SetDirty();}
|
|
const char*
|
|
GetName() const
|
|
{ Check_Object(this); return m_name; }
|
|
|
|
Page *GetPage()
|
|
{ Check_Object(this); return m_page; }
|
|
protected:
|
|
MString
|
|
m_name,
|
|
m_text;
|
|
|
|
void
|
|
SetDirty()
|
|
{Check_Object(this); Check_Object(m_page); m_page->SetDirty();}
|
|
|
|
void
|
|
WriteNotation(MemoryStream *stream);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// string access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(const char **contents)
|
|
{
|
|
Check_Object(this); Check_Pointer(contents);
|
|
*contents = m_text;
|
|
}
|
|
void
|
|
SetEntry(const char *contents)
|
|
{Check_Object(this); m_text = contents; SetDirty(); }
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// int access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(int *value);
|
|
void
|
|
SetEntry(int value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// scalar access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(Scalar *value);
|
|
void
|
|
SetEntry(Scalar value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// DWORD access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(DWORD *value);
|
|
void
|
|
SetEntry(DWORD value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// bool access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(bool *value);
|
|
void
|
|
SetEntry(bool value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Vector3D access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(Vector3D *value);
|
|
void
|
|
SetEntry(const Vector3D &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// YawPitchRoll access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(YawPitchRoll *value);
|
|
void
|
|
SetEntry(const YawPitchRoll &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// UnitQuaternion access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(UnitQuaternion *value);
|
|
void
|
|
SetEntry(const UnitQuaternion &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// Motion3D access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(Motion3D *value);
|
|
void
|
|
SetEntry(const Motion3D &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// RGBColor access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(RGBColor *value);
|
|
void
|
|
SetEntry(const RGBColor &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// RGBAColor access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(RGBAColor *value);
|
|
void
|
|
SetEntry(const RGBAColor &value);
|
|
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
// NotationFile access
|
|
//
|
|
public:
|
|
void
|
|
GetEntry(NotationFile *value);
|
|
void
|
|
SetEntry(NotationFile *value);
|
|
|
|
public:
|
|
void
|
|
TestInstance() const;
|
|
};
|
|
|
|
}
|