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

92 lines
3.3 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"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
ShapeComponent::ClassData*
ShapeComponent::CreateFactoryRequest(FactoryRequestParameters *parameters)
{
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(ShapeComponent));
Check_Object(Resource::ParentFileDependencies);
//
//------------------------------------
// Find the parent object for the mesh
//------------------------------------
//
Page *page = parameters->m_page;
Check_Object(page);
//
//-------------------------
// Deal with the instancing
//-------------------------
//
bool instance = false;
page->GetEntry("Unique", &instance);
*component_stream << instance;
//
//--------------------------
// Read in the geometry name
//--------------------------
//
const char* geometry_name;
page->GetEntry("Geometry", &geometry_name, true);
FileStream file_stream(geometry_name);
const char* file_name = file_stream.GetFileName();
//
//---------------------------------------------------------------
// See if the resource already exists, and if so, just use its ID
//---------------------------------------------------------------
//
Resource erf_res(file_name);
if (!erf_res.DoesResourceExist() || !erf_res.IsResourceUpToDate())
{
FileDependencies erf_dependencies;
erf_dependencies.AddDependency(&file_stream);
erf_res.Save(&file_stream, &erf_dependencies);
if (!erf_res.IsRegistered())
Resource::ParentFileDependencies->AddDependencies(&erf_dependencies);
}
else if (!erf_res.IsRegistered())
erf_res.AddFileDependenciesTo(Resource::ParentFileDependencies);
*component_stream << erf_res.GetResourceID();
//
//----------------------------
// Let our parent do its thing
//----------------------------
//
bool result = BaseClass::CreateFactoryRequest(parameters) != NULL;
Check_Object(DefaultData);
return (result) ? DefaultData : NULL;
}