#include "rp.h" #pragma hdrstop #include "rptool.h" #include "..\munga\fileutil.h" #include "vtv.h" #include "scorzone.h" #include "rivet.h" #include "demopack.h" //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Logical RPTool::CreateMakeMessage( const char* class_name, Entity::MakeMessage *creation_message, NotationFile *model_file, const ResourceDirectories *directories ) { if (!stricmp(class_name,"VTVClassID")) { VTV::CreateMakeMessage( (VTV::MakeMessage*)creation_message, model_file, directories ); return True; } else if (!stricmp(class_name,"ScoreZoneClassID")) { ScoreZone::CreateMakeMessage( (ScoreZone::MakeMessage*)creation_message, model_file, directories ); return True; } return ApplicationTool::CreateMakeMessage( class_name, creation_message, model_file, directories ); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // void RPTool::CreateModelResource( ModelData &model_resources, const char *model_class, ResourceFile *resource_file, const char *model_name, NotationFile *model_file, const ResourceDirectories *directories ) { if (!stricmp(model_class, "VTVClassID")) { #if 0 strcpy(ops_file_data, ops_name); strcat(ops_file_data, "::Standard::Vehicle::"); strcat(ops_file_data, model_name ); strcpy(ops_file_page, ops_name); strcat(ops_file_page, "::Standard::VehicleList"); ops_file->AppendEntry(ops_file_page, "vehicle", ops_file_data); ops_file->SetEntry(ops_file_data, "tag", model_name ); ops_file->SetEntry(ops_file_data, "classID", "RPVh"); ops_file->AppendEntry(ops_file_data, NULL, (char *)NULL); #endif model_resources.gameResourceID = VTV::CreateModelResource( resource_file, model_name, model_file, directories ); model_resources.subsystemResourceID = VTV::CreateSubsystemStream( resource_file, model_name, model_file, directories ); model_resources.skeletonResourceID = VTV::CreateSkeletonStream( resource_file, model_name, model_file, directories ); model_resources.damageZoneResourceID = VTV::CreateDamageZoneStream( resource_file, model_name, model_file, directories ); } else if (!stricmp(model_class, "RivetClassID")) { model_resources.gameResourceID = Rivet::CreateModelResource( resource_file, model_name, model_file, directories ); } else if (!stricmp(model_class, "DemolitionPackClassID")) { model_resources.gameResourceID = DemolitionPack::CreateModelResource( resource_file, model_name, model_file, directories ); } else if (!stricmp(model_class, "ScoreZoneClassID")) { model_resources.gameResourceID = ScoreZone::CreateModelResource( resource_file, model_name, model_file, directories ); } else { ApplicationTool::CreateModelResource( model_resources, model_class, resource_file, model_name, model_file, directories ); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ResourceDescription::ResourceID RPTool::CreateControlMappingStream( const char *model_class, const char *mapping_name, NotationFile *mapping_file, ResourceFile *resource_file, const char *model_name, NotationFile *model_file, const ResourceDirectories *directories, PlatformTool *current_tool ) { if (!stricmp(model_class, "VTVClassID")) { return VTV::CreateControlMappingStream( mapping_name, mapping_file, platformTool->GetControlMappingFunction(), resource_file, model_name, model_file, directories, current_tool ); } else { return -1; } }