//===========================================================================// // File: Weapon_Tool.cpp //---------------------------------------------------------------------------// // Date Who Modification // // -------- --- ---------------------------------------------------------- // // 09/09/98 JSE Inital base class based off of Shadowrun/Adept // 09/24/98 BDB Inital Weapon subsystem class based off of Subsystem_Tool.cpp //---------------------------------------------------------------------------// // Copyright (C) 1998, Fasa Interactive // // All Rights reserved worldwide // // This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL // //===========================================================================// #include "MW4Headers.hpp" #include "SearchLight.hpp" #include "MWTool.hpp" //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void SearchLight__CreateMessage::ConstructCreateMessage(Script *script) { Check_Object(script); // //-------------- // Set up stream //-------------- // MemoryStream *message_stream = script->messageStream; Check_Object(message_stream); message_stream->AllocateBytes(sizeof(SearchLight__CreateMessage)); Subsystem__CreateMessage::ConstructCreateMessage(script); SearchLight__CreateMessage *message = Cast_Pointer( SearchLight__CreateMessage*, message_stream->GetPointer() ); message->messageLength = sizeof(*message); // //--------------------------- // Point at the notation file //--------------------------- // Page *page = script->instancePage; Check_Object(page); Check_Object(Tool::Instance); const char *site_name; page->GetEntry("Site", &site_name, true); Check_Pointer(site_name); Str_Copy(message->siteName, _strlwr((char*)site_name), sizeof(message->siteName)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void SearchLight::SaveInstanceText(Page *instance_page) { Check_Object(this); Subsystem::SaveInstanceText(instance_page); instance_page->SetEntry("Site", (const char *)siteName); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void SearchLight__GameModel::ConstructGameModel(Script *script) { Check_Object(script); // //-------------- // Set up stream //-------------- // MemoryStream *model_stream = script->modelStream; Check_Object(model_stream); model_stream->AllocateBytes(sizeof(SearchLight__GameModel)); Subsystem__GameModel::ConstructGameModel(script); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // bool SearchLight__GameModel::ReadAndVerify( SearchLight__GameModel *model, ModelAttributeEntry *attribute_entry, const char *data, char **error, int error_buffer ) { Check_Object(attribute_entry); bool result = false; bool valid_data = (*data != '\0'); // //---------------------------------------- //Read in the values from the data entered //---------------------------------------- // result = Subsystem__GameModel::ReadAndVerify( model, attribute_entry, data, error, error_buffer ); // //--------------------------- //Verify all the model values //--------------------------- // switch(attribute_entry->attributeID) { case LightEntityResourceAttributeID: { if(!valid_data) { ResourceID value = ResourceID::Null; attribute_entry->SetValue(model, (void *)&value); result = true; } break; } case LightConeResourceAttributeID: { if(!valid_data) { ResourceID value = ResourceID::Null; attribute_entry->SetValue(model, (void *)&value); result = true; } break; } } return result; }