Files
firestorm/Gameleap/code/mw4/Libraries/gosFX/Shape.hpp
T
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

134 lines
3.3 KiB
C++

//==========================================================================//
// File: gosFX_Shape.hpp //
// Project: gosFX //
// Contents: Shape Component //
//--------------------------------------------------------------------------//
// Date Who Modification //
// 09/28/98 JTR Created //
// //
//--------------------------------------------------------------------------//
// Copyright (C) 1997-1998, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//==========================================================================//
//
#pragma once
#include "gosFX.hpp"
#include "Singleton.hpp"
#include <MLR\MLR.hpp>
namespace MidLevelRenderer {class MLRShape;}
namespace gosFX
{
//############################################################################
//######################## Shape__Specification #############################
//############################################################################
class Shape;
class Shape__Specification:
public Singleton__Specification
{
friend class Shape;
//----------------------------------------------------------------------
// Constructors/Destructors
//
protected:
Shape__Specification(
Stuff::MemoryStream *stream,
int gfx_version
);
public:
typedef Singleton__Specification BaseClass;
Shape__Specification();
~Shape__Specification();
void
Save(Stuff::MemoryStream *stream);
static Shape__Specification*
Make(
Stuff::MemoryStream *stream,
int gfx_version
);
void
Copy(Shape__Specification *spec);
void
SetShape(Stuff::MString &shape);
protected:
MidLevelRenderer::MLRShape
*m_shape;
Stuff::Scalar
m_radius;
Stuff::MString
m_shapeFile;
};
//############################################################################
//############################# Shape #################################
//############################################################################
class Shape : public Singleton
{
//----------------------------------------------------------------------------
// Class Registration Support
//
public:
typedef Singleton BaseClass;
static void InitializeClass();
static void TerminateClass();
typedef Shape__Specification Specification;
//----------------------------------------------------------------------------
// Class Data Support
//
protected:
Shape(
Specification *spec,
unsigned flags
);
public:
static Shape*
Make(
Specification *spec,
unsigned flags
);
Specification*
GetSpecification()
{
Check_Object(this);
return
Cast_Object(Specification*, m_specification);
}
static ClassData
*DefaultData;
//----------------------------------------------------------------------------
// Testing
//
public:
void
TestInstance() const;
//----------------------------------------------------------------------------
// API
//
public:
void Start(ExecuteInfo *info);
void Draw(DrawInfo *info);
};
}