r5sdk/r5dev/engine/modelloader.cpp

69 lines
2.1 KiB
C++
Raw Normal View History

//===========================================================================//
//
// Purpose: Model loading / unloading interface
//
// $NoKeywords: $
//===========================================================================//
#include "core/stdafx.h"
#include "engine/cmodel_bsp.h"
#include "engine/modelloader.h"
#include "datacache/mdlcache.h"
model_t* pErrorMDL = nullptr;
//-----------------------------------------------------------------------------
// Purpose:
// Input : *loader -
// *model -
//-----------------------------------------------------------------------------
void CModelLoader::LoadModel(CModelLoader* loader, model_t* model)
{
//if (!pErrorMDL)
//{
// if (strcmp(model->szPathName, ERROR_MODEL) == 0)
// {
// pErrorMDL = model;
// }
//}
//string svExtension = model->szPathName;
//size_t npos = svExtension.find(".");
//if (npos != string::npos)
//{
// svExtension = svExtension.substr(npos + 1);
//}
//if (strcmp(svExtension.c_str(), "rmdl") == 0 && strcmp(model->szPathName, ERROR_MODEL) != 0)
//{
// studiohdr_t* pStudioHDR = g_MDLCache->FindMDL(g_MDLCache->m_pVTable, model->studio, 0);
// if (pStudioHDR == pErrorStudioHDR)
// {
// model = pErrorMDL;
// }
//}
return CModelLoader__LoadModel(loader, model);
}
//-----------------------------------------------------------------------------
// Purpose:
// Input : *loader -
// *model -
//-----------------------------------------------------------------------------
uint64_t CModelLoader::Map_LoadModelGuts(CModelLoader* loader, model_t* model)
{
return CModelLoader__Map_LoadModelGuts(loader, model);
}
///////////////////////////////////////////////////////////////////////////////
void VModelLoader::Attach() const
{
DetourAttach((LPVOID*)&CModelLoader__LoadModel, &CModelLoader::LoadModel);
DetourAttach((LPVOID*)&CModelLoader__Map_LoadModelGuts, &CModelLoader::Map_LoadModelGuts);
}
void VModelLoader::Detach() const
{
DetourDetach((LPVOID*)&CModelLoader__LoadModel, &CModelLoader::LoadModel);
DetourDetach((LPVOID*)&CModelLoader__Map_LoadModelGuts, &CModelLoader::Map_LoadModelGuts);
}