31-07-2017, 01:52 PM
Salve a tutti
alla fine ho ritrovato la funzione che gestisce il cambio LIRA/ EURO, nel managcal.exe italiano è all'offeset 0x003ff178 ( 8 byte ) il valore decimale è 0.005164568938799605 e basta cambiare gli 8 byte in 0.005 per avere valori corretti.
v21 = a2 * 0.005164568938799605;
if ( fabs(v21) <= 1000000.0 )
{
if ( floor(v21) >= v21 || v21 >= 1000.0 )
{
String2 = 0;
lstrcpyA(String, "Ç");
v10 = (const CHAR *)sub_777190((signed __int64)v21);
v11 = lstrlenA(String);
lstrcpyA(&String[v11], v10);
lstrcpyA(lpString1, String);
result = lpString1;
}
else
{
String2 = 0;
lstrcpyA(String, "Ç");
v8 = sub_777250((void *)&String2, v21, 2);
v9 = lstrlenA(String);
lstrcpyA(&String[v9], (LPCSTR)v8);
lstrcpyA(lpString1, String);
result = lpString1;
}
}
else
{
v22 = v21 * 0.000001;
if ( floor(v22) >= v22 || v22 >= 1000.0 )
{
String2 = 0;
v6 = sub_777250((void *)&String2, v22, 0);
lstrcpyA(&String1, (LPCSTR)v6);
sub_445150(&String1, " mill.");
sub_4D0630(&v20, &String1);
lstrcpyA(String, "Ç");
v7 = lstrlenA(String);
lstrcpyA(&String[v7], &v20);
lstrcpyA(lpString1, String);
result = lpString1;
}
else
{
v20 = 0;
v3 = sub_777250(&v20, v22, 2);
lstrcpyA(&String1, (LPCSTR)v3);
sub_445150(&String1, " mill.");
sub_4D0630((LPSTR)&String2, &String1);
lstrcpyA(String, "Ç");
v4 = lstrlenA(String);
lstrcpyA(&String[v4], &String2);
lstrcpyA(lpString1, String);
result = lpString1;
}
}
}
saluti
Geggio
alla fine ho ritrovato la funzione che gestisce il cambio LIRA/ EURO, nel managcal.exe italiano è all'offeset 0x003ff178 ( 8 byte ) il valore decimale è 0.005164568938799605 e basta cambiare gli 8 byte in 0.005 per avere valori corretti.
v21 = a2 * 0.005164568938799605;
if ( fabs(v21) <= 1000000.0 )
{
if ( floor(v21) >= v21 || v21 >= 1000.0 )
{
String2 = 0;
lstrcpyA(String, "Ç");
v10 = (const CHAR *)sub_777190((signed __int64)v21);
v11 = lstrlenA(String);
lstrcpyA(&String[v11], v10);
lstrcpyA(lpString1, String);
result = lpString1;
}
else
{
String2 = 0;
lstrcpyA(String, "Ç");
v8 = sub_777250((void *)&String2, v21, 2);
v9 = lstrlenA(String);
lstrcpyA(&String[v9], (LPCSTR)v8);
lstrcpyA(lpString1, String);
result = lpString1;
}
}
else
{
v22 = v21 * 0.000001;
if ( floor(v22) >= v22 || v22 >= 1000.0 )
{
String2 = 0;
v6 = sub_777250((void *)&String2, v22, 0);
lstrcpyA(&String1, (LPCSTR)v6);
sub_445150(&String1, " mill.");
sub_4D0630(&v20, &String1);
lstrcpyA(String, "Ç");
v7 = lstrlenA(String);
lstrcpyA(&String[v7], &v20);
lstrcpyA(lpString1, String);
result = lpString1;
}
else
{
v20 = 0;
v3 = sub_777250(&v20, v22, 2);
lstrcpyA(&String1, (LPCSTR)v3);
sub_445150(&String1, " mill.");
sub_4D0630((LPSTR)&String2, &String1);
lstrcpyA(String, "Ç");
v4 = lstrlenA(String);
lstrcpyA(&String[v4], &String2);
lstrcpyA(lpString1, String);
result = lpString1;
}
}
}
saluti
Geggio