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

103 lines
3.4 KiB
C++

//===========================================================================//
// File: Player_Tool.cpp //
//---------------------------------------------------------------------------//
// Date Who Modification //
// -------- --- ---------------------------------------------------------- //
// 03/08/99 DPB Created Files //
//---------------------------------------------------------------------------//
// Copyright (C) 1998, Fasa Interactive //
// All Rights reserved worldwide //
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL //
//===========================================================================//
#include "AdeptHeaders.hpp"
#include "Player.hpp"
#include "Tool.hpp"
#include "Interface.hpp"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
void
Player__CreateMessage::ConstructCreateMessage(Script *script)
{
Check_Object(script);
#if defined(_ARMOR)
int stack_level = Tool::Instance->GetStackLevel();
#endif
//
//--------------
// Set up stream
//--------------
//
MemoryStream *message_stream = script->messageStream;
Check_Object(message_stream);
message_stream->AllocateBytes(sizeof(Player__CreateMessage));
Driver::CreateMessage::ConstructCreateMessage(script);
Verify(stack_level == Tool::Instance->GetStackLevel());
Player__CreateMessage *message =
Cast_Pointer(
Player__CreateMessage*,
message_stream->GetPointer()
);
message->messageLength = sizeof(*message);
//
//---------------------------------------------------------------
// Point at the notation file and make other files relative to it
//---------------------------------------------------------------
//
Page *page = script->instancePage;
Check_Object(page);
//
//-----------------------------------------------------------------
// Create the map instance and stuff its resource ID in the message
//-----------------------------------------------------------------
//
{
NotationFile interface_file;
page->GetEntry("Interface", &interface_file, true);
Resource interface_instance;
Check_Object(Tool::Instance);
ReplicatorID local_base = ReplicatorID::Null;
Tool::Instance->ConstructCreateMessage(
&interface_instance,
&interface_file,
&local_base
);
*script->baseID += local_base;
message->interfaceResourceID = interface_instance.GetResourceID();
}
//
//-----------------------------------------------------------------
// Create the map instance and stuff its resource ID in the message
//-----------------------------------------------------------------
//
{
NotationFile vehicle_file;
page->GetEntry("Vehicle", &vehicle_file, true);
Resource vehicle_instance;
ReplicatorID local_base = ReplicatorID::Null;
Check_Object(Tool::Instance);
Tool::Instance->ConstructCreateMessage(
&vehicle_instance,
&vehicle_file,
&local_base
);
*script->baseID += local_base;
message->vehicleResourceID = vehicle_instance.GetResourceID();
}
message->dropZone = NameTable::NullObjectID;
message->teamNumber = 0;
message->skinPrefix = 0;
message->teamDecal = 0;
message->pilotDecal = 0;
Verify(stack_level == Tool::Instance->GetStackLevel());
}