Decompilação GS-N 1.00.66 [ Fix do Fenrir & Asas ]
Uma parte decompilada do GS-N 1.00.66...
Para fix no Select Char Aplicar no JGPGetCharList..
Código:
if ( (TempInventory[7] >= 3 && TempInventory[7] <= 6) || TempInventory[7] ==
0x1E || TempInventory[7] == 0x29 || TempInventory[7] == 0x2A )
{ // Decompilado GS-N 1.00.66
pCList.CharSet[5] |= 0xC;
if ( TempInventory[7] == 0x1E ) // Capa do DL
{
pCList.CharSet[9] |= 0x05;
}
else if ( TempInventory[7] == 0x29 ) // asa lv1 da sum
{
pCList.CharSet[9] |= 0x06;
}
else if ( TempInventory[7] == 0x2A ) // Asa lv2 da sum
{
pCList.CharSet[9] |= 0x07;
}
else
{
pCList.CharSet[9] |= (TempInventory[7] - 2) & 0x07;
}
}
if ( TempInventory[8] == 0x25 && TempInventory[8] != 0x1FF )
{ // Decompilado GS-N 1.00.66
pCList.CharSet[10] &= 0xFE;
pCList.CharSet[12] &= 0xFE;
pCList.CharSet[12] |= 0x04;
BYTE btExcellentOption = lpCL->dbInventory[34] & 0x3F;
if ( (btExcellentOption&1) == 1 )
{
pCList.CharSet[16] |= 0x01;
}
if ( (btExcellentOption&2) == 2 )
{
pCList.CharSet[16] |= 0x02;
}
if ( (btExcellentOption&4) == 4 ) // Gold Fenrir
{
pCList.CharSet[17] |= 0x01;
}
}
if ( (TempInventory[7] >= 0x24 && TempInventory[7] <= 0x28) || TempInventory[7]
== 0x2B ) // Decompilado GS-N 1.00.66
{ // Decompilado GS-N 1.00.66
pCList.CharSet[5] |= 0xC;
pCList.CharSet[16] |= 4 * ((TempInventory[7] - 35) & 0x07 ); // Asas lv3
if( TempInventory[7] == 0x2B ) // Asa da Sum Lv3
{
pCList.CharSet[16] |= 0x18;
}
}
Para fix in-game Aplicar gObjMakePreviewCharSet, user.cpp
Código:
if ( // GS-N 1.00.66
(lpObj->pInventory[7].m_Type >= ITEMGET(12,3) && lpObj->pInventory[7].m_Type <= ITEMGET(12,6)) || // velhas
(lpObj->pInventory[7].m_Type == ITEMGET(13,30)) || // cape of lord
(lpObj->pInventory[7].m_Type == ITEMGET(12,41)) || // lv 1 sum
(lpObj->pInventory[7].m_Type == ITEMGET(12,42)) // lv2 sum
)
{
lpObj->CharSet[5] |= CS_SET_WING1(-1);
if ( lpObj->pInventory[7].m_Type == ITEMGET(13,30) )
{
lpObj->CharSet[9] |= 5;
}
else if ( lpObj->pInventory[7].m_Type == ITEMGET(12,41) ) // confirma.
{
lpObj->CharSet[9] |= 6;
}
else if ( lpObj->pInventory[7].m_Type == ITEMGET(12,42) ) // confirma.
{
lpObj->CharSet[9] |= 7;
}
else
{
lpObj->CharSet[9] |= (lpObj->pInventory[7].m_Type - 2) & 0x07; // outras, novo código
}
}
if ( lpObj->pInventory[8].m_Type == ITEMGET(13,37) ) // Fenrir
{ // Decompilado GS-N 1.00.66
lpObj->CharSet[10] &= 0xFE;
lpObj->CharSet[12] &= 0xFE;
lpObj->CharSet[12] |= 0x04;
lpObj->CharSet[16] = 0;
lpObj->CharSet[17] = 0;
if ( lpObj->pInventory[8].IsFenrirIncLastAttackDamage() != FALSE )
{
lpObj->CharSet[16] |= 0x01;
}
if ( lpObj->pInventory[8].IsFenrirDecLastAttackDamage() != FALSE )
{
lpObj->CharSet[16] |= 0x02;
}
if ( lpObj->pInventory[8].IsFenrirIllusionOption() != FALSE )
{
lpObj->CharSet[17] |= 0x01;
}
}
if((lpObj->pInventory[7].m_Type >= ITEMGET(12,36)
&& lpObj->pInventory[7].m_Type <= ITEMGET(12,40))
|| lpObj->pInventory[7].m_Type == ITEMGET(12,43))
{ // Decompilado GS-N 1.00.66
// CharSet[0] = 1294
lpObj->CharSet[5] |= 0xC;
//lpObj->CharSet[5] |= 0x0C;
lpObj->CharSet[16] |= 4 * ((lpObj->pInventory[7].m_Type - 35) & 0x07 << 0x02); // Demais asas lv3
//lpObj->CharSet[16] |= aIndex; // << ????
if(lpObj->pInventory[7].m_Type == ITEMGET(12, 43)) // Asa Lv3 Sum
{
lpObj->CharSet[16] |= 0x18;
}
}
Creditos:
Kimdu por decompilar ( My Mestre )