Veo el error omg javierf2
Crei que era el unico que le pasaba esto jaja
Lamentablemente no pude encontrar una solucion a esto. para la carga de la capa toma un Index el cual no esta en el txt eso seria lo que enumera cada capa nueva que se agrega y como no hay tal index solo se puede agregar una capa y cuando agregas mas capas pasa ese problema de dungeon. al hacer GetmainInfo al principio deduje que iba a tener algun problema ya que tome un index que no existe para la carga de capa.
DEJEN DE CHILLAR PUES
gracias bro te hago una consulta respecto a este codigo.. de donde salio este codigo 90885 <<< y que hace porque veo que lee ese codigo y quiero saber con que finalidad va en aumento
expliquemos lo de otro modo aver xD Takumi explica por Offset, yo le digo Textura, (es el mismo pito, pero el mio es mas grande xD ), el problema persiste es que el código es automática, coloca el index , cuando una capa queda supongamos en 6344(12,200) y un skill, interfaces o algún pedo usa esa misma textura
6344, sucede un bug visual por eso se comenta que están usando la misma textura xD
Solucion1: takumi mando a un index que no se usan y va sumando
90885 +1 para no repetir y así no chocarían las texturas. una solución inteligente.
Solucion2: yo uso mi código las texturas manuales:
6344 1 32841 "Item\\VSL_Cape_NightBlue_02.tga" 32842 "Item\\VSL_Cape_NightBlue_03.tga"
así puedo manejar ami antojo la textura de la capa "32841
" y de la tira "32842"
void CCapeAnimation::DrawViewPort(DWORD ObjectPointer, DWORD ObjectModel, DWORD a3)
{
lpViewObj Object = &*(ObjectPreview*)(ObjectPointer);
switch(Object->WingsSlot)
{
case ITEM2(12,130): // Small Cape of Lord
case ITEM2(13,30): // Cape of Lord
Object->WingsSlot = ITEM2(13,30); // Cape of Lord
SetDword((0x0057491A + 1), 0x7756); // 30550
SetDword((0x0057491F + 1), 0x7756); // 30550
break;
case ITEM2(12,40): // Cape of Emperor
Object->WingsSlot = ITEM2(12,40); // Cape of Emperor
//-
SetDword((0x0057491A + 1), 0x7758); // 30552
SetDword((0x0057491F + 1), 0x7758); // 30552
//
SetDword((0x00574F2E + 1), 0x7759); // 30553
SetDword((0x00574F33 + 1), 0x7759); // 30553
//
SetDword((0x00574FFC + 1), 0x7759); // 30553
SetDword((0x00575001 + 1), 0x7759); // 30553
//-
break;
case ITEM2(12,49): // Cloak of Warrior
case ITEM2(12,135): // Small Cloak of Warrior
Object->WingsSlot = ITEM2(12,49); // Cloak of Warrior
SetDword((0x0057491A + 1), 0x07EE0);
SetDword((0x0057491F + 1), 0x07EE0);
break;
case ITEM2(12,50): //capa 2da rage fighter
Object->WingsSlot = ITEM2(12,50); // Lord of the Cape
//-
SetDword((0x0057491A + 1), 0x07EE2);
SetDword((0x0057491F + 1), 0x07EE2);
//
SetDword((0x00574F2E + 1), 0x07EE1);
SetDword((0x00574F33 + 1), 0x07EE1);
//
SetDword((0x00574FFC + 1), 0x07EE1);
SetDword((0x00575001 + 1), 0x07EE1);
//-
break;
}
if(gCloak.isCloak(Object->WingsSlot - 1171))
{
CUSTOMCLOAK_DATA* CapeModel = gCloak.GetInfoByItem(Object->WingsSlot - 1171);
int ItemGroup = CapeModel->ItemIndex / 512;
int ItemID = CapeModel->ItemIndex % 512;
Object->WingsSlot = ITEM2(ItemGroup, ItemID);
SetDword((0x0057491A + 1), CapeModel->IndexCloak);
SetDword((0x0057491F + 1), CapeModel->IndexCloak);
if(CapeModel->Mode == 1)
{
SetDword((0x00574F2E + 1), CapeModel->IndexStrip);
SetDword((0x00574F33 + 1), CapeModel->IndexStrip);
//
SetDword((0x00574FFC + 1), CapeModel->IndexStrip);
SetDword((0x00575001 + 1), CapeModel->IndexStrip);
}
}
pDrawViewPort(ObjectPointer, ObjectModel, a3);
}
pLoadImage(gCloak.m_Cloak[n].TextureIndexCloak, gCloak.m_Cloak[n].IndexCloak, GL_LINEAR, GL_REPEAT, 1, 0);
pLoadImage(gCloak.m_Cloak[n].TextureIndexStrip, gCloak.m_Cloak[n].IndexStrip, GL_LINEAR, GL_REPEAT, 1, 0);