if(m_iExp < iNextExp)
{ iNextExp = iNextExp - iCurExp;
if( m_iExp > iCurExp ) iCurExp = m_iExp - iCurExp; // curxp: partie faite
else iCurExp = 0; // below current lvl !
short sPerc = 0;
if( iCurExp > 200000 ) sPerc = short( ((iCurExp>>4)*10000)/(iNextExp>>4) );
else sPerc = (short)( (iCurExp*10000)/iNextExp );
wsprintf(G_cTxt, "Rest Exp: %d(%d.%02d%%)", iNextExp-iCurExp, sPerc/100, sPerc%100);
}else
{ wsprintf(G_cTxt, "Exp: %d(100.00%)", m_iExp); // "Exp: 151000/150000"
}
}else wsprintf(G_cTxt, "%s(%d,%d)", m_cMapMessage, m_sPlayerX, m_sPlayerY);
PutAlignedString(135, 328, 456, G_cTxt, 200,200,120);
}