Guía para Fixear el bug de la textura del Sura incluso de alguna otra que presente el problema, sigan la guía dejo ejemplos del antes y después.
Se modifica Source Binario.
ANTES
DESPUES
/////////////////////////////////////////////////////////////
1 Userinterface/Locale.inc.h
// Pegar
#define NPC_TEXTURE_FIX
/////////////////////////////////////////////////////////////
2 EterGrnLib/Thing.cpp
// Buscar
CGrannyMotion * CGraphicThing::GetMotionPointer(int iMotion)
// Agregar abajo
#ifdef NPC_TEXTURE_FIX
int CGraphicThing::GetTextureCount() const
{
if (!m_pgrnFileInfo)
return 0;
if (m_pgrnFileInfo->TextureCount <= 0)
return 0;
return (m_pgrnFileInfo->TextureCount);
}
const char * CGraphicThing::GetTexturePath(int iTexture)
{
if(iTexture >= GetTextureCount())
return "";
return m_pgrnFileInfo->Textures[iTexture]->FromFileName;
}
#endif
/////////////////////////////////////////////////////////////
3 EterGrnLib/Thing.h
// Buscar
int GetMotionCount() const;
// Agregar abajo
#ifdef NPC_TEXTURE_FIX
int GetTextureCount() const;
const char * GetTexturePath(int iTexture);
#endif
/////////////////////////////////////////////////////////////
4 GameLib/ActorInstanceData.cpp
// Buscar
CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
RegisterLODThing(0, pLODModelThing);
// Reemplazar
#ifdef NPC_TEXTURE_FIX
CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
bool canLOD = true;
if (pModelThing && pLODModelThing) {
if (pModelThing->GetTextureCount() == pLODModelThing->GetTextureCount()) {
for (int i = 0; i < pModelThing->GetTextureCount(); i++) {
if (strcmp(pModelThing->GetTexturePath(i), pLODModelThing->GetTexturePath(i)) != 0)
canLOD = false;
}
} else {
canLOD = false;
}
}
if(canLOD)
RegisterLODThing(0, pLODModelThing);
#endif
/////////////////////////////////////////////////////////////
// PARA LOS QUE NO ENTIENDAN ESTE PASO, QUEDARIA ASI:
{
if (pRaceData->IsTree())
{
__CreateTree(pRaceData->GetTreeFileName());
}
else
{
CGraphicThing* pModelThing = pRaceData->GetBaseModelThing();
RegisterModelThing(0, pModelThing);
#ifdef NPC_TEXTURE_FIX
CGraphicThing* pLODModelThing = pRaceData->GetLODModelThing();
bool canLOD = true;
if (pModelThing && pLODModelThing) {
if (pModelThing->GetTextureCount() == pLODModelThing->GetTextureCount()) {
for (int i = 0; i < pModelThing->GetTextureCount(); i++) {
if (strcmp(pModelThing->GetTexturePath(i), pLODModelThing->GetTexturePath(i)) != 0)
canLOD = false;
}
} else {
canLOD = false;
}
}
if(canLOD)
RegisterLODThing(0, pLODModelThing);
#endif
SetModelInstance(0, 0, 0);
}
}
LES DEJO UN ARCHIVO .CPP CON LA GUIA PARA QUE LA GUARDEN O QUIERAN VERLO MAS CLARO EN NOTEPAD++
Debes iniciar sesión para ver el contenido del enlace en esta publicación.