Files
firestorm/Gameleap/code/mw4/Libraries/Adept/SlidingShapeComponent_tool.cpp
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

96 lines
3.1 KiB
C++

//===========================================================================//
// File: D3DRMVideoRenderables.cpp //
// Project: MUNGA Brick: Win95 Video Renderer //
// Contents: GOS95 Layer Video Renderer //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 03/13/97 JTR Initial coding. //
//---------------------------------------------------------------------------//
// Copyright (C) 1997, Virtual World Entertainment, Inc. //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include "AdeptHeaders.hpp"
#include "VideoHeaders.hpp"
#include "Tool.hpp"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
SlidingShapeComponent::ClassData*
SlidingShapeComponent::CreateFactoryRequest(
FactoryRequestParameters *parameters,
Entity::ClassData *class_data
)
{
Check_Object(parameters);
//
//-------------------------------------------------------------------------
// Allocate enough room for what we need to write out, then call our parent
//-------------------------------------------------------------------------
//
MemoryStream *component_stream = parameters->m_stream;
Check_Object(component_stream);
component_stream->AllocateBytes(sizeof(SlidingShapeComponent));
Check_Object(Resource::ParentFileDependencies);
//
//----------------------------
// Let our parent do its thing
//----------------------------
//
bool result = BaseClass::CreateFactoryRequest(parameters) != NULL;
//
//------------------------------------
// Find the parent object for the mesh
//------------------------------------
//
Page *page = parameters->m_page;
Check_Object(page);
NotationFile *file = page->GetNotationFile();
Check_Object(file);
//
//-------------------------
// Read the attribute field
//-------------------------
//
const char* transform_name;
page->GetEntry("Transform", &transform_name, true);
const AttributeEntry *transform_entry;
Check_Object(class_data);
transform_entry =
class_data->attributeTable.GetAttributeEntry(transform_name);
if (transform_entry == NULL)
{
STOP((
"%s: {[%s]Transform=%s}: Unknown attribute!",
file->GetFileName(),
page->GetName(),
transform_name
));
return false;
}
Check_Object(transform_entry);
if (transform_entry->attributeType != AffineMatrix4DClassID)
{
PAUSE((
"%s: {[%s]Transform=%s}: Attribute is not correct type!",
file->GetFileName(),
page->GetName(),
transform_name
));
result = false;
}
else
*component_stream << transform_entry->attributeID;
Check_Object(DefaultData);
return (result) ? DefaultData : NULL;
}