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,202 @@
//===========================================================================//
// 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"
#include <ElementRenderer\StateChange.hpp>
using namespace ElementRenderer;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
VideoComponent::ClassData*
VideoComponent::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(VideoComponent));
bool result = BaseClass::CreateFactoryRequest(parameters) != NULL;
//
//-------------------------------
// Find the input channel to read
//-------------------------------
//
Page *page = parameters->m_page;
Check_Object(page);
//
//--------------------------
// Deal with the translation
//--------------------------
//
Point3D translation = Point3D::Identity;
bool t_exists = page->GetEntry("Translation", &translation);
//
//-----------------------
// Deal with the rotation
//-----------------------
//
YawPitchRoll rotation = YawPitchRoll::Identity;
bool r_exists =
page->GetEntry("Rotation", &rotation);
LinearMatrix4D matrix;
matrix.BuildTranslation(translation);
matrix.BuildRotation(rotation);
*component_stream << matrix;
//
//-----------------------------------------------------------------
// Now look for any element state changes. If we did not force any
// translation or rotation, then we can set the identity flag
//-----------------------------------------------------------------
//
unsigned
state=0,
delta;
OBB
bounds;
Element::ReadStateFromPage(
page,
*MString::s_Empty,
&state,
&delta,
&bounds
);
state &= ~Element::LocalToParentIsIdentityFlag;
delta |= Element::LocalToParentIsIdentityFlag;
if (!t_exists && !r_exists)
{
state |= Element::LocalToParentIsIdentityFlag;
}
*component_stream << delta;
if (delta)
{
*component_stream << state;
if (delta & Element::OBBFlag)
*component_stream << bounds;
}
//
//--------------------------------------------------
// Look for the various state changes, and save them
//--------------------------------------------------
//
StateChange states(page, *MString::s_Empty);
ElementRenderer::WriteERFVersion(component_stream);
states.Save(component_stream);
//
//------------------
// Return the status
//------------------
//
Check_Object(DefaultData);
return (result) ? DefaultData : NULL;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
GroupComponent::ClassData*
GroupComponent::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(GroupComponent));
bool result = BaseClass::CreateFactoryRequest(parameters) != NULL;
//
//---------------------------------
// Make the right kind of billboard
//---------------------------------
//
Page *page = parameters->m_page;
Check_Object(page);
DynamicArrayOf<ComponentDescriptor> *component_names = parameters->m_components;
Check_Object(component_names);
ChainOf<Note*>* child_chain = page->MakeNoteChain("Child");
Check_Object(child_chain);
Page::NoteIterator children(child_chain);
//
//-----------------------------------------------------------
// Loop through the children, making sure we can hook them up
//-----------------------------------------------------------
//
Note *child;
int child_id = -1;
while ((child = children.ReadAndNext()) != NULL)
{
Check_Object(child);
const char* child_name = NULL;
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 an VideoComponent component!",
page->GetNotationFile()->GetFileName(),
page->GetName(),
child_name
));
result = false;
}
}
*component_stream << child_id;
child_id = -1;
}
//
//---------------------------------------------------------------
// Make sure to always write the null ID to stop the child stream
//---------------------------------------------------------------
//
*component_stream << child_id;
Unregister_Object(child_chain);
delete child_chain;
Check_Object(DefaultData);
return (result) ? DefaultData : NULL;
}