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

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;
};
}