@@ -15,14 +15,43 @@ extern "C" void OverwriteItemName(cube::Item * item, std::wstring * string)
1515 }
1616
1717 wchar_t buffer[250 ];
18- swprintf_s (buffer, 250 , L" LV %d " , GetItemLevel (item));
18+ double item_level = GetItemLevel (item);
19+
20+ if (item_level > 1e6 )
21+ {
22+ swprintf_s (buffer, 250 , L" LV %.2fM " , item_level / 1e6 );
23+ }
24+ else if (item_level > 1e3 )
25+ {
26+ swprintf_s (buffer, 250 , L" LV %.2fK " , item_level / 1e3 );
27+ }
28+ else
29+ {
30+ swprintf_s (buffer, 250 , L" LV %.0f " , item_level);
31+ }
32+
1933 *string = buffer + *string;
2034}
2135
2236extern " C" void LevelDisplayOverwriteCreature (cube::Creature* creature, void * unk)
2337{
2438 wchar_t buffer[250 ];
25- swprintf_s (buffer, 250 , L" LV %d " , GetCreatureLevel (creature));
39+
40+ double item_level = GetCreatureLevel (creature);
41+
42+ if (item_level > 1e6 )
43+ {
44+ swprintf_s (buffer, 250 , L" LV %.2fM " , item_level / 1e6 );
45+ }
46+ else if (item_level > 1e3 )
47+ {
48+ swprintf_s (buffer, 250 , L" LV %.2fK " , item_level / 1e3 );
49+ }
50+ else
51+ {
52+ swprintf_s (buffer, 250 , L" LV %.0f " , item_level);
53+ }
54+
2655 PutText (unk, buffer);
2756 return ;
2857}
0 commit comments