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.
This commit is contained in:
Cyd
2026-06-24 21:28:16 -05:00
commit 2b8ca921cb
66341 changed files with 7923174 additions and 0 deletions
@@ -0,0 +1,136 @@
//===========================================================================//
// File: D3DRMVideoRenderables.cpp //
// Project: MUNGA Brick: Win95 Video Renderer //
// Contents: Windows95 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"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
LODComponent::ClassData*
LODComponent::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(LODComponent));
bool result = BaseClass::CreateFactoryRequest(parameters) != NULL;
//
//----------------------------------------
// Set up a name list for all the children
//----------------------------------------
//
Page *page = parameters->m_page;
Check_Object(page);
DynamicArrayOf<ComponentDescriptor> *component_names = parameters->m_components;
Check_Object(component_names);
ChainOf<Note*> *children_chain = page->MakeNoteChain("Child");
Check_Object(children_chain);
Page::NoteIterator children(children_chain);
ChainOf<Note*> *ranges_chain = page->MakeNoteChain("Range");
Check_Object(ranges_chain);
Page::NoteIterator ranges(ranges_chain);
//
//-----------------------------------
// Write out the number of lod ranges
//-----------------------------------
//
int range_count = Min(children.GetSize(), ranges.GetSize());
*component_stream << range_count;
//
//-----------------------------------------------------------
// Loop through the children, making sure we can hook them up
//-----------------------------------------------------------
//
Note *child = children.ReadAndNext();
Note *range = ranges.ReadAndNext();
int child_id = -1;
while (child && range)
{
//
//------------------------------------
// Find the child and write out its ID
//------------------------------------
//
Check_Object(child);
const char* child_name;
child->GetEntry(&child_name);
Check_Pointer(child_name);
child_id = ComponentDescriptor::FindName(component_names, parameters->m_index, child_name);
if (child_id == -1)
{
STOP((
"%s: {[%s]Child=%s}: Unknown component name!",
page->GetNotationFile()->GetFileName(),
page->GetName(),
child_name
));
result = false;
}
else
{
Component::ClassData* class_data = (*component_names)[child_id].m_classData;
Check_Object(class_data);
if (!class_data->IsDerivedFrom(VideoComponent::DefaultData))
{
STOP((
"%s: {[%s]Child=%s}: Child is not a VideoComponent component!",
page->GetNotationFile()->GetFileName(),
page->GetName(),
child_name
));
result = false;
}
}
*component_stream << child_id;
//
//---------------------
// Write out the ranges
//---------------------
//
Check_Object(range);
const char* range_values = NULL;
range->GetEntry(&range_values);
Check_Pointer(range_values);
Scalar n,f;
sscanf(range_values, "%f %f", &n, &f);
n *= n;
f *= f;
*component_stream << n << f;
child = children.ReadAndNext();
range = ranges.ReadAndNext();
}
//
//---------------------------------------------------------------
// Make sure to always write the null ID to stop the child stream
//---------------------------------------------------------------
//
Check_Object(ranges_chain);
delete ranges_chain;
Check_Object(children_chain);
delete children_chain;
Check_Object(DefaultData);
return (result) ? DefaultData : NULL;
}