[D]ELARO ✓ 1,649 Report post Posted November 5, 2021 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. 7 1 2 DrPolitica, Tiburon, Xiaomi and 7 others reacted to this Quote Share this post Link to post Share on other sites