changeset 96:51a5b0dc3f30

3.11.12
author Ritor1
date Sat, 03 Nov 2012 19:58:37 +0600
parents 2d3f4e0379ce
children d7e68aebe0b3
files Indoor.cpp Monsters.cpp Outdoor.cpp PaletteManager.cpp PaletteManager.h Player.cpp Render.cpp SaveLoad.cpp Sprites.cpp Texture.cpp VideoPlayer.cpp mm7_2.cpp mm7_3.cpp mm7_4.cpp mm7_5.cpp mm7_6.cpp
diffstat 16 files changed, 272 insertions(+), 266 deletions(-) [+]
line wrap: on
line diff
--- a/Indoor.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Indoor.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -4445,9 +4445,9 @@
   }
   if ( !_strcmpi(pCurrentMapName, "out15.odm") || !_strcmpi(pCurrentMapName, "d23.blv") )
     bNoNPCHiring = 1;
-  pPaletteManager->pPalette_tintColor[0] = 0;
-  pPaletteManager->pPalette_tintColor[1] = 0;
-  pPaletteManager->pPalette_tintColor[2] = 0;
+  pPaletteManager->field_267AD3 = 0;
+  pPaletteManager->field_267AD4 = 0;
+  pPaletteManager->field_267AD5 = 0;
   pPaletteManager->RecalculateAll();
   if ( qword_A750D8 )
     qword_A750D8 = 0i64;
--- a/Monsters.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Monsters.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -1266,7 +1266,7 @@
                         v76->field_3C_some_special_attack = v78;
                         if ( v78 == -1 )
                         {
-                          sprintfex(Src, "Can't create random monster: '%s' See MapStats!", Src);
+                          sprintf(Src, "Can't create random monster: '%s' See MapStats!", Src);
                           MessageBoxA(nullptr, Src, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Itemdata.cpp:2239", 0);
                         }
                       }
--- a/Outdoor.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Outdoor.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -366,7 +366,7 @@
   {
     v12 = (unsigned __int8)aTiletableLoadU[v10 + 39];
     uDefaultTravelTime_ByFoot = (unsigned __int8)byte_4ECA93[v10];
-    sprintfex(pOut, "out%02d.odm", v12);
+    sprintf(pOut, "out%02d.odm", v12);
     uLevel_StartingPointType = (unsigned __int8)byte_4ECACF[v10];
     return 1;
   }
@@ -1296,11 +1296,11 @@
   __int32 v134; // [sp+9A0h] [bp-1E0h]@38
   __int32 v135; // [sp+9ACh] [bp-1D4h]@38
   __int32 v136; // [sp+9D0h] [bp-1B0h]@10
-  char FileName[8]; // [sp+A20h] [bp-160h]@8
-  char v138; // [sp+A28h] [bp-158h]@12
-  int v139; // [sp+B1Ch] [bp-64h]@10
+  char FileName[32]; // [sp+A20h] [bp-160h]@8
+  //char v138; // [sp+A28h] [bp-158h]@12
+  char v139; // [sp+B1Ch] [bp-64h]@10
   char pContainer[32]; // [sp+B20h] [bp-60h]@1
-  int *v141; // [sp+B40h] [bp-40h]@50
+  char *v141; // [sp+B40h] [bp-40h]@50
   __int64 v142; // [sp+B44h] [bp-3Ch]@55
   size_t pSource; // [sp+B4Ch] [bp-34h]@56
   int v144; // [sp+B50h] [bp-30h]@61
@@ -1317,26 +1317,26 @@
   strcpy(pContainer, pFilename);
   if ( bUnderwater )
   {
-    pPaletteManager->pPalette_tintColor[0] = 0x10u;
-    pPaletteManager->pPalette_tintColor[1] = 0xC2u;
-    pPaletteManager->pPalette_tintColor[2] = 0x99u;
-    pPaletteManager->pPalette_mistColor[0] = 0x25u;
-    pPaletteManager->pPalette_mistColor[1] = 0x8Fu;
-    pPaletteManager->pPalette_mistColor[2] = 0x5Cu;
+    pPaletteManager->field_267AD3 = 0x10u;
+    pPaletteManager->field_267AD4 = 0xC2u;
+    pPaletteManager->field_267AD5 = 0x99u;
+    pPaletteManager->field_267AD0 = 0x25u;
+    pPaletteManager->field_267AD1 = 0x8Fu;
+    pPaletteManager->field_267AD2 = 0x5Cu;
 LABEL_7:
     pPaletteManager->RecalculateAll();
     goto LABEL_8;
   }
-  pPaletteManager->pPalette_tintColor[0] = 0;
-  pPaletteManager->pPalette_tintColor[1] = 0;
-  pPaletteManager->pPalette_tintColor[2] = 0;
-  if ( pPaletteManager->pPalette_mistColor[0] != 0x80u
-    || pPaletteManager->pPalette_mistColor[1] != 0x80u
-    || pPaletteManager->pPalette_mistColor[2] != 0x80u )
+  pPaletteManager->field_267AD3 = 0;
+  pPaletteManager->field_267AD4 = 0;
+  pPaletteManager->field_267AD5 = 0;
+  if ( pPaletteManager->field_267AD0 != 0x80u
+    || pPaletteManager->field_267AD1 != 0x80u
+    || pPaletteManager->field_267AD2 != 0x80u )
   {
-    pPaletteManager->pPalette_mistColor[0] = 0x80u;
-    pPaletteManager->pPalette_mistColor[1] = 0x80u;
-    pPaletteManager->pPalette_mistColor[2] = 0x80u;
+    pPaletteManager->field_267AD0 = 0x80u;
+    pPaletteManager->field_267AD1 = 0x80u;
+    pPaletteManager->field_267AD2 = 0x80u;
     goto LABEL_7;
   }
 LABEL_8:
@@ -1412,9 +1412,10 @@
         pOutdoorLocation->pBModels[v12].pNodes = 0;
         FileName[0] = 0;
         v108 = (int)&pOutdoorLocation->pBModels[v12];
-        sprintfex(FileName, "%s", v108);
+        sprintf(FileName, "%s", v108);
         v13 = pOutdoorLocation->pBModels;
-        v138 = 0;
+        FileName[8] = 0;
+		v114 = (int)FileName;
         pOutdoorLocation->pBModels[v12].pVertices.pVertices = (Vec3_int_ *)pAllocator->AllocNamedChunk(v13[v12].pVertices.pVertices, 12 * v13[v12].pVertices.uNumVertices,
                                                                FileName);
         pOutdoorLocation->pBModels[v12].pFaces = (ODMFace *)pAllocator->AllocNamedChunk(pOutdoorLocation->pBModels[v12].pFaces, 308 * pOutdoorLocation->pBModels[v12].uNumFaces,
@@ -1429,6 +1430,7 @@
         fread(pOutdoorLocation->pBModels[v12].pFaces, 0x134u, pOutdoorLocation->pBModels[v12].uNumFaces, (FILE *)File);
         fread(pOutdoorLocation->pBModels[v12].pFacesOrdering, 2u, pOutdoorLocation->pBModels[v12].uNumFaces, (FILE *)File);
         fread(pOutdoorLocation->pBModels[v12].pNodes, 8u, pOutdoorLocation->pBModels[v12].uNumNodes, (FILE *)File);
+		v114 = (int)FileName;
         v16 = malloc(10 * pOutdoorLocation->pBModels[v12].uNumFaces);
         v107 = (int)File;
         v17 = pOutdoorLocation->pBModels;
@@ -1713,7 +1715,8 @@
       v108 = (int)&pOutdoorLocation->pBModels[v48];
       sprintf(FileName, "%s", v108);
       v49 = pOutdoorLocation->pBModels;
-      v138 = 0;
+	  FileName[8] = 0;
+      //v138 = 0;
       v50 = &v49[v48];
       v108 = (int)FileName;
       v107 = 12 * v50->pVertices.uNumVertices;
@@ -1880,9 +1883,8 @@
   memcpy(v71, uSourceLen, 24 * v72);
   pGameLoadingUI_ProgressBar->Progress();
   free((void *)HIDWORD(v142));
-  v108 = (int)".ddm";
-  v73 = strlen(pContainer);
-  strcpy((char *)v141 + v73, (const char *)v108);
+  //v73 = strlen(pContainer);
+  strcpy(&pContainer[strlen(pContainer) - 4], ".ddm");
   v151 = (int)pNew_LOD->FindContainer(pContainer, 1);//
   fread(&header, 0x10u, 1u, (FILE *)v151);
   Str2 = 0;
--- a/PaletteManager.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/PaletteManager.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -329,7 +329,7 @@
 
   v2 = this;
   v3 = (char *)this + 768 * a2;
-  if ( this->pPalette_tintColor[0] || this->pPalette_tintColor[1] || this->pPalette_tintColor[2] )
+  if ( this->field_267AD3 || this->field_267AD4 || this->field_267AD5 )
   {
     v8 = 0;
     i = 0;
@@ -338,13 +338,13 @@
       v9 = (float *)((char *)v63 + v8);
       v10 = (float *)((char *)a6 + v8);
       v11 = (float *)((char *)v64 + v8);
-      v12 = v2->pPalette_tintColor[1];
-      LODWORD(v75) = v2->pPalette_tintColor[2] + (unsigned __int8)v3[2];
+      v12 = v2->field_267AD4;
+      LODWORD(v75) = v2->field_267AD5 + (unsigned __int8)v3[2];
       v13 = v12 + (unsigned __int8)v3[1];
       LODWORD(v14) = (unsigned __int8)*v3;
       v15 = (double)SLODWORD(v75) * 0.00196078431372549;
       LODWORD(v75) = v13;
-      LODWORD(v75) = LODWORD(v14) + v2->pPalette_tintColor[0];
+      LODWORD(v75) = LODWORD(v14) + v2->field_267AD3;
       v16 = (double)v13 * 0.00196078431372549;
       v17 = (double)SLODWORD(v75) * 0.00196078431372549;
       RGB2HSV(v11, v9, v17, v16, v15, v10);
@@ -500,12 +500,12 @@
     i += 4;
   }
   while ( v18 ^ v19 );
-  v45 = v2->pPalette_mistColor[0];
-  if ( v45 || v2->pPalette_mistColor[1] || v2->pPalette_mistColor[2] )
+  v45 = v2->field_267AD0;
+  if ( v45 || v2->field_267AD1 || v2->field_267AD2 )
   {
     v46 = (double)v45;
-    v80 = v2->pPalette_mistColor[1];
-    v47 = v2->pPalette_mistColor[2];
+    v80 = v2->field_267AD1;
+    v47 = v2->field_267AD2;
     v70 = v46 * 0.00392156862745098;
     *((float *)&v71 + 1) = (double)v80 * 0.00392156862745098;
     v75 = (double)v47 * 0.00392156862745098;
@@ -538,7 +538,7 @@
         a2a = a2a * 31.0;
         a3 = a3 * 31.0;
       }
-      if ( v2->pPalette_mistColor[0] || v2->pPalette_mistColor[1] || v2->pPalette_mistColor[2] )
+      if ( v2->field_267AD0 || v2->field_267AD1 || v2->field_267AD2 )
       {
         v55 = (double)v72 * 0.03225806451612903;
         v52 = (signed __int64)((double)(1 << v2->uNumTargetRBits) * v70 * v55 + a1 * (1.0 - v55));
--- a/PaletteManager.h	Fri Nov 02 00:44:18 2012 +0600
+++ b/PaletteManager.h	Sat Nov 03 19:58:37 2012 +0600
@@ -31,8 +31,12 @@
   int pPaletteIDs[50];
   int _num_locked;
   int _pal_lock_test;
-  unsigned __int8 pPalette_mistColor[2];
-  char pPalette_tintColor[2];
+  unsigned __int8 field_267AD0;
+  unsigned __int8 field_267AD1;
+  unsigned __int8 field_267AD2;
+  char field_267AD3;
+  char field_267AD4;
+  char field_267AD5;
   char field_267AD6;
   char field_267AD7;
   unsigned int uNumTargetRBits;
--- a/Player.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Player.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -1515,7 +1515,7 @@
   }
   else
   {
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[67], this->pName);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[67], this->pName);
     ShowStatusBarString(pTmpBuf, 2u);
     result = 0;
   }
@@ -3117,13 +3117,13 @@
   {
     v5 = v3;
     v6 = player__getmeleedamagestring_static_buff;
-    sprintfex(player__getmeleedamagestring_static_buff, "%d", v5);
+    sprintf(player__getmeleedamagestring_static_buff, "%d", v5);
   }
   else
   {
     v7 = v3;
     v6 = player__getmeleedamagestring_static_buff;
-    sprintfex(player__getmeleedamagestring_static_buff, "%d - %d", v7, v4);
+    sprintf(player__getmeleedamagestring_static_buff, "%d - %d", v7, v4);
   }
   v8 = v1->pEquipment.uMainHand;
   if ( v8 )
@@ -3171,13 +3171,13 @@
     {
       v6 = v3;
       v5 = player__getrangeddamagestring_static_buff;
-      sprintfex(player__getrangeddamagestring_static_buff, "%d", v6);
+      sprintf(player__getrangeddamagestring_static_buff, "%d", v6);
     }
     else
     {
       v7 = v3;
       v5 = player__getrangeddamagestring_static_buff;
-      sprintfex(player__getrangeddamagestring_static_buff, "%d - %d", v7, v4);
+      sprintf(player__getrangeddamagestring_static_buff, "%d - %d", v7, v4);
     }
   }
   else
@@ -3551,7 +3551,7 @@
             party_finds_gold(v19, 2);
             v22 = v19;
             v23 = pTmpBuf2;
-            sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[302], v31->pName, v22);
+            sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[302], v31->pName, v22);
 LABEL_43:
             ShowStatusBarString(v23, 2u);
             return _steal_perma;
@@ -3598,7 +3598,7 @@
               v16 = v27.uItemID;
             }
             sub_421B2C_PlaceInInventory_or_DropPickedItem();
-            sprintfex(
+            sprintf(
               pTmpBuf2,
               pGlobalTXT_LocalizationStrings[304],
               v31->pName,
@@ -3615,7 +3615,7 @@
       v25 = pGlobalTXT_LocalizationStrings[377];
     }
     v23 = pTmpBuf2;
-    sprintfex(pTmpBuf2, v25, v26);
+    sprintf(pTmpBuf2, v25, v26);
     goto LABEL_43;
   }
   return 0;
@@ -7430,7 +7430,7 @@
               LODWORD(v3->uExperience) += 2500 * thisa;
               HIDWORD(v3->uExperience) += ((unsigned __int64)(signed int)(2500 * thisa) >> 32) + v7;
 LABEL_38:
-              sprintfex(pTmpBuf, "+%u %s", v54, v63);
+              sprintf(pTmpBuf, "+%u %s", v54, v63);
               goto LABEL_54;
             case 0xBu:
               v8 = rand() % 6;
@@ -7488,7 +7488,7 @@
               v53 = v74;
               v49 = thisa;
 LABEL_53:
-              sprintfex(pTmpBuf, "+%u %s %s", v49, v53, v62);
+              sprintf(pTmpBuf, "+%u %s %s", v49, v53, v62);
 LABEL_54:
               ShowStatusBarString(pTmpBuf, 2u);
               pMouse->RemoveHoldingItem();
@@ -7619,7 +7619,7 @@
       v66 = pParty->pPickedItem.GetDisplayName();
       v57 = pGlobalTXT_LocalizationStrings[380];
 LABEL_72:
-      sprintfex(pTmpBuf, v57, v66);
+      sprintf(pTmpBuf, v57, v66);
       ShowStatusBarString(pTmpBuf, 2u);
 LABEL_92:
       v61 = v4;
@@ -7661,7 +7661,7 @@
             if ( v75 > v21 || !*v17 )
             {
               v22 = pParty->pPickedItem.GetDisplayName();
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[381], v22);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[381], v22);
               ShowStatusBarString(pTmpBuf, 2u);
               v65 = 0;
               v56 = 20;
@@ -8496,14 +8496,14 @@
         case VAR_RandomGold:
           v6 = rand() % a3 + 1;
           Party::SetGold(v6);
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[500], v6);// You have %lu gold
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[500], v6);// You have %lu gold
           ShowStatusBarString(pTmpBuf, 2u);
           GameUI_DrawFoodAndGold();
           return;
         case VAR_RandomFood:
           v7 = rand() % a3 + 1;
           Party::SetFood(v7);
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[501], v7);// You have %lu food
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[501], v7);// You have %lu food
           ShowStatusBarString(pTmpBuf, 2u);
           GameUI_DrawFoodAndGold();
           goto LABEL_124;
@@ -8911,7 +8911,7 @@
                 val = 1;
               v7 = rand() % val + 1;
               Party::GiveFood(v7);
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[502], v7);// You find %lu food
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[502], v7);// You find %lu food
               ShowStatusBarString(pTmpBuf, 2u);
               GameUI_DrawFoodAndGold();
               goto _play_sound;
@@ -9040,7 +9040,7 @@
               goto LABEL_82;
             case VAR_FixedFood:
               Party::GiveFood(val);
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[502], val);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[502], val);
               ShowStatusBarString(pTmpBuf, 2u);
               if ( pParty->uNumFoodRations > 0xFFFF )
                 Party::SetFood(0xFFFFu);
@@ -9555,7 +9555,7 @@
           if ( v6 > pParty->uNumGold )
             v6 = pParty->uNumGold;
           Party::TakeGold(v6);
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[503], v6);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[503], v6);
           ShowStatusBarString(pTmpBuf, 2u);
           GameUI_DrawFoodAndGold();
           return;
@@ -9564,7 +9564,7 @@
           if ( v7 > pParty->uNumFoodRations )
             v7 = pParty->uNumFoodRations;
           Party::TakeFood(v7);
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[504], v7);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[504], v7);
           ShowStatusBarString(pTmpBuf, 2u);
           GameUI_DrawFoodAndGold();
           goto LABEL_17;
--- a/Render.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Render.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -3848,7 +3848,7 @@
     if (FAILED(pHost->SetCooperativeLevel(hWnd, DDSCL_MULTITHREADED | DDSCL_NORMAL)))
     {
       v23 = "Init - Failed to set cooperative level.\n";
-      sprintfex(pErrorMessage, v23);
+      sprintf(pErrorMessage, v23);
 LABEL_65:
       if (pHost)
       {
@@ -3951,7 +3951,7 @@
     }
 LABEL_36:
     v23 = "Init - Failed to create front buffer.\n";
-    sprintfex(pErrorMessage, v23);
+    sprintf(pErrorMessage, v23);
     goto LABEL_65;
   }
   if ( uDeviceID == 1 )
@@ -3961,13 +3961,13 @@
   if (pHost->SetCooperativeLevel(hWnd, v26) )
   {
     v23 = "Init - Failed to set cooperative level.\n";
-    sprintfex(pErrorMessage, v23);
+    sprintf(pErrorMessage, v23);
     goto LABEL_65;
   }
   if (pHost->SetDisplayMode(640u, 480u, 16u, 0, 0) )
   {
     v23 = "Init - Failed to set display mode.\n";
-    sprintfex(pErrorMessage, v23);
+    sprintf(pErrorMessage, v23);
     goto LABEL_65;
   }
 
@@ -4759,7 +4759,7 @@
   v2 = 0;
   if ( !this->pRenderD3D || this->field_40110 )
   {
-    sprintfex(Filename, "screen%0.2i.pcx", dword_4EFA80++ % 100);
+    sprintf(Filename, "screen%0.2i.pcx", dword_4EFA80++ % 100);
     File = fopen(Filename, "wb");
     if ( File )
     {
--- a/SaveLoad.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/SaveLoad.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -357,7 +357,7 @@
     }
     if ( pNew_LOD->Write(&pDir, DstBuf, 0) )
     {
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 200);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 200);
     MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:773", 0);
     }
     else
@@ -371,7 +371,7 @@
     if ( pNew_LOD->Write(&pDir, &v43, 0) )
     {
       v39 = 201;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 201);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 201);
     MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:784", 0);
     }
     strcpy((char *)&pDir, "party.bin");
@@ -379,7 +379,7 @@
     if ( pNew_LOD->Write(&pDir, &pParty, 0) )
     {
       v39 = 202;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 202);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 202);
     MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:793", 0);
     }
     strcpy((char *)&pDir, "Timer.bin");
@@ -387,7 +387,7 @@
     if ( pNew_LOD->Write(&pDir, &pEventTimer, 0) )
     {
       v39 = 203;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 203);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 203);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:802", 0);
     }
     strcpy((char *)&pDir, "overlay.bin");
@@ -395,7 +395,7 @@
     if ( pNew_LOD->Write(&pDir, &pOtherOverlayList, 0) )
     {
       v39 = 204;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 204);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 204);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:811", 0);
     }
     strcpy((char *)&pDir, "npcdata.bin");
@@ -403,7 +403,7 @@
     if ( pNew_LOD->Write(&pDir, pNPCStats->pNewNPCData, 0) )
     {
       v39 = 205;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 205);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 205);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:820", 0);
     }
     strcpy((char *)&pDir, "npcgroup.bin");
@@ -411,7 +411,7 @@
     if ( pNew_LOD->Write(&pDir, pNPCStats->pGroups_copy, 0) )
     {
       v39 = 206;
-      sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 206);
+      sprintf(Str, pGlobalTXT_LocalizationStrings[612], 206);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:829", 0);
     }
     v70 = 1;
@@ -620,13 +620,13 @@
       v69 += 16;
       memcpy((void *)(v9 + 8), &v69, 4u);
       memcpy((void *)(v9 + 12), &Size, 4u);
-      sprintfex(Source, "%s%s", &Filename, &Ext);
+      sprintf(Source, "%s%s", &Filename, &Ext);
       strcpy((char *)&pDir, Source);
       pDir.uDataSize = v69;
       if ( pNew_LOD->Write(&pDir, (const void *)v9, 0) )
       {
         v39 = 208;
-        sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 208);
+        sprintf(Str, pGlobalTXT_LocalizationStrings[612], 208);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:1071", 0);
       }
       free((void *)v9);
@@ -639,7 +639,7 @@
         v34 = GetLastError();
         FormatMessageA(0x1000u, 0, v34, 0x400u, &Buffer, 0x80u, 0);
         v39 = 300;
-        sprintfex(Str, pGlobalTXT_LocalizationStrings[612], 300);
+        sprintf(Str, pGlobalTXT_LocalizationStrings[612], 300);
           MessageBoxA(nullptr, Str, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\LoadSave.cpp:1097", 0);
       }
     }
@@ -678,7 +678,7 @@
     strcpy((char *)&pDir, "header.bin");
     pDir.uDataSize = 100;
     pNew_LOD->Write(&pDir, (char *)&pSavegameHeader + v2, 0);
-    sprintfex(pTmpBuf, "saves\\save%03d.mm7", v6);
+    sprintf(pTmpBuf, "saves\\save%03d.mm7", v6);
     pNew_LOD->CloseWriteFile();
     CopyFileA("data\\new.lod", pTmpBuf, 0);
   }
--- a/Sprites.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Sprites.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -134,7 +134,7 @@
                   v25 = pSpriteSFrames[v3].pTextureName;
                   v22 = "%s0";
 LABEL_15:
-                  sprintfex(Size, v22, v25);
+                  sprintf(Size, v22, v25);
                   break;
                 default:
                   break;
@@ -181,7 +181,7 @@
                 v26 = pSpriteSFrames[v3].pTextureName;
                 v23 = "%s1";
 LABEL_26:
-                sprintfex(Size, v23, v26);
+                sprintf(Size, v23, v26);
                 break;
               default:
                 break;
--- a/Texture.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/Texture.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -452,7 +452,7 @@
   File = v3;
   if ( !v3 )
   {
-    sprintfex(pTmpBuf, "Unable to load %s", pContainer);
+    sprintf(pTmpBuf, "Unable to load %s", pContainer);
     Abortf(pTmpBuf);
   }
   fread(&DstBuf, 1u, 0x30u, v3);
@@ -542,7 +542,7 @@
   File = v4;
   if ( !v4 )
   {
-    sprintfex(pTmpBuf, "Unable to load %s", pContainer);
+    sprintf(pTmpBuf, "Unable to load %s", pContainer);
     Abortf(pTmpBuf);
   }
   fread(&DstBuf, 1u, 0x30u, v4);
--- a/VideoPlayer.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/VideoPlayer.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -492,7 +492,7 @@
 LABEL_3:
     v7 = "Can't open file - anims\\%s.smk";
 LABEL_4:
-    sprintfex(v3, v7, v8);
+    sprintf(v3, v7, v8);
     MessageBoxA(0, v3, "Video File Error", 0);
     return;
   }
@@ -1025,13 +1025,13 @@
     MessageBoxA(nullptr, v12, v15, 0);
       return;
     }
-    sprintfex(Str2, "%s.smk", pMovieName);
+    sprintf(Str2, "%s.smk", pMovieName);
     v5 = OpenSmack(Str2);
     v3->pSmackerMovie = v5;
     if ( !v5 )
     {
       v3->Unload();
-      sprintfex(pTmpBuf, "Can't load %s", &Str2);
+      sprintf(pTmpBuf, "Can't load %s", &Str2);
       v15 = "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Video.cpp:937";
       v12 = pTmpBuf;
       goto LABEL_6;
@@ -1105,7 +1105,7 @@
       if ( !v6 )
       {
         Unload();
-        sprintfex(pVideoName, "Can't load file - anims\\%s.smk", pFilename);
+        sprintf(pVideoName, "Can't load file - anims\\%s.smk", pFilename);
 LABEL_17:
         MessageBoxA(0, pVideoName, "Smacker Error", 0);
         return;
@@ -1121,7 +1121,7 @@
         Unload();
         v12 = "Can't allocate memory for buffer";
 LABEL_16:
-        sprintfex(pVideoName, v12);
+        sprintf(pVideoName, v12);
         goto LABEL_17;
       }
       SmackToBuffer(v4->pSmackerMovie, 0, 0, v4->pSmackerMovie->Width, v4->pSmackerMovie->Height, v9, 0);
--- a/mm7_2.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/mm7_2.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -145,7 +145,7 @@
   _this.uFrameZ = 334;
   v28 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
   v30 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  sprintfex(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[605], pParty->uFine);
+  sprintf(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[605], pParty->uFine);
   _this.DrawText2(pFontArrus, 0, 0x104u, v30, pTmpBuf, 3u);
   if ( dword_F8B19C == 1 )
   {
@@ -206,7 +206,7 @@
       v0 = ptr_507BC0;
       if ( ptr_507BC0->field_40 == 1 )
       {
-        sprintfex(pTmpBuf, "%s\n%s", pGlobalTXT_LocalizationStrings[606], pGlobalTXT_LocalizationStrings[112]);
+        sprintf(pTmpBuf, "%s\n%s", pGlobalTXT_LocalizationStrings[606], pGlobalTXT_LocalizationStrings[112]);
         _this.DrawText2(pFontArrus, 0, 0x92u, v30, pTmpBuf, 3u);
         _this.DrawText2(pFontArrus, 0, 0xBAu, v28, (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
         v3 = pFontArrus;
@@ -257,8 +257,8 @@
     v6 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
     v7 = v5->pName;
     v8 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-    sprintfex(pTmpBuf, &byte_4F0F98, v8, v7, v6);
-    sprintfex(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * v5->uLevel);
+    sprintf(pTmpBuf, &byte_4F0F98, v8, v7, v6);
+    sprintf(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * v5->uLevel);
     ptr_F8B1E8 = pTmpBuf2;
     memcpy(&a1, pDialogueWindow, sizeof(a1));
     w.uFrameWidth = 458;
@@ -310,7 +310,7 @@
   _this.uFrameZ = 334;
   *(int *)v13 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
   *(int *)v14 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  sprintfex(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[25], pParty->uNumGoldInBank);
+  sprintf(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[25], pParty->uNumGoldInBank);
   _this.DrawText2(pFontArrus, 0, 0xDCu, v14[0], pTmpBuf, 3u);
   if ( dword_F8B19C != 1 )
   {
@@ -394,7 +394,7 @@
       v11 = pGlobalTXT_LocalizationStrings[112];
       v10 = pGlobalTXT_LocalizationStrings[244];
     }
-    sprintfex(pTmpBuf, "%s\n%s", v10, v11);
+    sprintf(pTmpBuf, "%s\n%s", v10, v11);
     _this.DrawText2(pFontArrus, 0, 0x92u, v14[0], pTmpBuf, 3u);
     _this.DrawText2(pFontArrus, 0, 0xBAu, v13[0], (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
     v4 = pFontArrus;
@@ -681,7 +681,7 @@
             while ( (signed int)v10 < v8->pStartingPosActiveItem + v8->pNumPresenceButton );
             if ( v86 )
             {
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], pOutString);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], pOutString);
               v79.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               pOutString = (GUIFont *)((149 - v89) / v86);
               if ( (149 - v89) / v86 > 32 )
@@ -731,7 +731,7 @@
             }
           }
           v26 = pTmpBuf;
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v85->pName, pClassNames[v85->uClass]);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v85->pName, pClassNames[v85->uClass]);
           strcat(pTmpBuf, "\n \n");
           strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
           goto LABEL_97;
@@ -770,16 +770,16 @@
     v28 = *(int *)v84;
     if ( pDialogueWindow->pCurrentPosActiveItem != 2 )
       v28 = v81;
-    sprintfex(&Dest, format_4E2DC8, v28);
-    sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[178], pOutString);
+    sprintf(&Dest, format_4E2DC8, v28);
+    sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[178], pOutString);
     strcat(&Dest, pTmpBuf2);
     v90 = pFontArrus->CalcTextHeight(&Dest, &v79, 0, 0);
     strcat(&Dest, "\n \n");
     v29 = *(int *)v84;
     if ( pDialogueWindow->pCurrentPosActiveItem != 3 )
       v29 = v81;
-    sprintfex(&a1, format_4E2DC8, v29);
-    sprintfex(pTmpBuf2,
+    sprintf(&a1, format_4E2DC8, v29);
+    sprintf(pTmpBuf2,
       pGlobalTXT_LocalizationStrings[86],
       //(signed __int64)p2DEvents_minus1__20[13 * (unsigned int)ptr_507BC0->ptr_1C],
       (signed __int64)p2DEvents[(unsigned int)ptr_507BC0->ptr_1C - 1].fPriceMultiplier,
@@ -790,7 +790,7 @@
     v30 = *(int *)v84;
     if ( pDialogueWindow->pCurrentPosActiveItem != 4 )
       v30 = v81;
-    sprintfex(&v77, format_4E2DC8, v30);
+    sprintf(&v77, format_4E2DC8, v30);
     strcat(&v77, pGlobalTXT_LocalizationStrings[160]);
     v82 = pFontArrus->CalcTextHeight(&v77, &v79, 0, 0);
     strcat(&v77, "\n \n");
@@ -802,7 +802,7 @@
       v32 = *(int *)v84;
       if ( pDialogueWindow->pCurrentPosActiveItem != 5 )
         v32 = v81;
-      sprintfex(&v75, format_4E2DC8, v32);
+      sprintf(&v75, format_4E2DC8, v32);
       strcat(&v75, pGlobalTXT_LocalizationStrings[611]);
       v87 = pFontArrus->CalcTextHeight(&v75, &v79, 0, 0);
     }
@@ -816,7 +816,7 @@
     if ( !(v37 ^ __OFSUB__(v34, v35)) )
     {
 LABEL_75:
-      sprintfex(pTmpBuf, "%s%s%s%s", &Dest, &a1, &v77, &v75);
+      sprintf(pTmpBuf, "%s%s%s%s", &Dest, &a1, &v77, &v75);
       v71 = 3;
       v69 = pTmpBuf;
       v67 = 0;
@@ -1215,7 +1215,7 @@
           if ( !v109 )
           {
 LABEL_105:
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);
+            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);
             strcat(pTmpBuf, "\n \n");
             strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
             v7 = pTmpBuf;
@@ -1227,7 +1227,7 @@
             v77 = &v101;
             goto LABEL_15;
           }
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v108);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v108);
           v101.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           v108 = (149 - v106.y) / (signed int)v109;
           if ( (149 - v106.y) / (signed int)v109 > 32 )
@@ -1954,7 +1954,7 @@
           while ( (signed int)v6 < v2->pNumPresenceButton + v2->pStartingPosActiveItem );
           if ( v114 )
           {
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v111);
+            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v111);
             v104.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
             v111 = (const char **)((signed int)(149 - v112) / v114);
             if ( (signed int)(149 - v112) / v114 > 32 )
@@ -2004,7 +2004,7 @@
             return result;
           }
         }
-        sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);
+        sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);
         strcat(pTmpBuf, "\n \n");
         strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
         v21 = pTmpBuf;
@@ -2548,7 +2548,7 @@
         while ( (signed int)v39 < v37->pNumPresenceButton + v37->pStartingPosActiveItem );
         if ( v153 )
         {
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], _this);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], _this);
           v144.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           _this = (Player *)((149 - v152) / v153);
           if ( (149 - v152) / v153 > 32 )
@@ -2597,7 +2597,7 @@
           return;
         }
       }
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);
       strcat(pTmpBuf, "\n \n");
       strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
       v11 = 0;
@@ -5154,7 +5154,7 @@
   {
     v4 = pClassNames[(unsigned __int8)v3[17]];
     v5 = ((Player *)(v3 - 168))->GetBaseLevel();
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[129], i, v5, v4);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[129], i, v5, v4);
     pWindow.DrawText2(
       pFont,
       1u,
@@ -5181,10 +5181,10 @@
   v9 = pGlobalTXT_LocalizationStrings[245];
   if ( v14 != 1 )
     v9 = pGlobalTXT_LocalizationStrings[132];
-  sprintfex(pTmpBuf2, " %lu %s, %lu %s, %lu %s ", v14, v9, v18, v8, v17, v7);
+  sprintf(pTmpBuf2, " %lu %s, %lu %s, %lu %s ", v14, v9, v18, v8, v17, v7);
   strcat(pTmpBuf, pTmpBuf2);
   pWindow.DrawText2(pFont, 1u, pWindow.uFrameHeight - 2 * LOBYTE(pFont->uFontHeight) - 5, 1u, pTmpBuf, 3u);
-  sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[94], v23);
+  sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[94], v23);
   pWindow.DrawText2(pFont, 1u, pWindow.uFrameHeight, 1u, pTmpBuf, 3u);
   BYTE1(dword_6BE364_game_settings_1) |= 0x40u;
   pRenderer->EndScene();
@@ -7640,7 +7640,7 @@
 LABEL_24:
         v44 = "%s C";
 LABEL_25:
-        result = (void *)sprintfex(&Source, v44, v45);
+        result = (void *)sprintf(&Source, v44, v45);
 LABEL_26:
         if ( Source == 48 )
           return result;
@@ -7710,14 +7710,14 @@
             v44 = "%s C";
           }
         }
-        sprintfex(&Str2, v44, v45);
+        sprintf(&Str2, v44, v45);
       }
       v26 = pMonsterList->GetMonsterByName(&Str2);
       v50 = (signed __int16)v26;
       v45 = &Str2;
       if ( (signed __int16)v26 == -1 )
       {
-        sprintfex(&Str, "Can't create random monster: '%s'! See MapStats.txt and Monsters.txt!", v45);
+        sprintf(&Str, "Can't create random monster: '%s'! See MapStats.txt and Monsters.txt!", v45);
         MessageBoxA(nullptr, &Str, nullptr, 0);
         ExitProcess(0);
       }
@@ -10330,7 +10330,7 @@
                                     }
                                     if ( _strcmpi(*(const char **)(v2 + 4), "Hammerhands") )
                                     {
-                                      sprintfex(pTmpBuf, "Unknown monster spell %s", *(int *)(v2 + 4));
+                                      sprintf(pTmpBuf, "Unknown monster spell %s", *(int *)(v2 + 4));
                                       MessageBoxA(nullptr, pTmpBuf, "E:\\WORK\\MSDEV\\MM7\\MM7\\Code\\Itemdata.cpp:1562", 0);
                                       result = 0;
                                       goto LABEL_76;
@@ -13532,7 +13532,7 @@
   v4 = hdc * BytesPerSector * SectorsPerCluster;
   if ( (unsigned int)v4 < 0x1E00000 )
   {
-    sprintfex(
+    sprintf(
       pTmpBuf,
       "Due to Window Virtual Memory requirements Might and Magic® VII\nrequires 30MB of free hard drive space to operate properly.\n\nAvailable on Current Drive = %luk",
       (unsigned int)v4 / 1024i64);
@@ -13932,9 +13932,9 @@
   pBitmaps_LOD->SetupPalettes(pRenderer->uTargetRBits, pRenderer->uTargetGBits, pRenderer->uTargetBBits);
   pIcons_LOD->SetupPalettes(pRenderer->uTargetRBits, pRenderer->uTargetGBits, pRenderer->uTargetBBits);
   pPaletteManager->SetColorChannelInfo(pRenderer->uTargetRBits, pRenderer->uTargetGBits, pRenderer->uTargetBBits);
-  pPaletteManager->pPalette_mistColor[0] = 128;
-  pPaletteManager->pPalette_mistColor[1] = 128;
-  pPaletteManager->pPalette_mistColor[2] = 128;
+  pPaletteManager->field_267AD0 = 128;
+  pPaletteManager->field_267AD1 = 128;
+  pPaletteManager->field_267AD2 = 128;
   pPaletteManager->RecalculateAll();
   pSprites_LOD->field_ECAC = 1;
   pObjectList->InitializeSprites();
@@ -14017,7 +14017,7 @@
     v11 = 1;
     do
     {
-      sprintfex(pTmpBuf, "data\\lloyd%d%d.pcx", v10, v11);
+      sprintf(pTmpBuf, "data\\lloyd%d%d.pcx", v10, v11);
       remove(pTmpBuf);
       ++v11;
     }
@@ -14300,7 +14300,7 @@
   unsigned int v9; // [sp+184h] [bp-4h]@28
 
   //_getcwd(v5, 120);
-  //sprintfex(pIniFilename, "%s\\mm6.ini", v5);
+  //sprintf(pIniFilename, "%s\\mm6.ini", v5);
   viewparams = new ViewingParams;
   viewparams->uScreenX = GetPrivateProfileIntW(L"screen", L"vx1", 8, pIniFilename);
   viewparams->uScreenY = GetPrivateProfileIntW(L"screen", L"vy1", 8, pIniFilename);
@@ -14972,7 +14972,7 @@
             }
           }
 LABEL_174:
-          sprintfex(&Src, "Unknown DirectDraw/Direct3D error number %X", v4);
+          sprintf(&Src, "Unknown DirectDraw/Direct3D error number %X", v4);
           v13 = strlen(&Src);
           v12 = &Src;
           goto LABEL_175;
@@ -15165,7 +15165,7 @@
   a1.uFrameW = a1.uFrameHeight + a1.uFrameY - 1;
   v1 = pItemsTable->pItems[(unsigned int)ptr_507BC4->ptr_1C + 700].pName;
   v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  sprintfex(pTmpBuf, format_4E2D80, v2, v1);
+  sprintf(pTmpBuf, format_4E2D80, v2, v1);
   a1.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
   return a1.DrawText(
            pFontSmallnum,
@@ -15861,7 +15861,7 @@
         if ( pParty->pPickedItem.uItemID )
           return 1;
         v24 = (int)pItemsTable->pItems[v20].pUnidentifiedName;
-        sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v24);
+        sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v24);
         ShowStatusBarString(pTmpBuf2, 2u);
         if ( v19->uItemID == 506 )
           _449B7E_toggle_bit(pParty->_award_bits, 184, 1u);
--- a/mm7_3.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/mm7_3.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -15238,7 +15238,7 @@
   memset(&DstBuf, 0, 0x48u);
   if ( (signed int)v5 >= (signed int)uBufferSize )
   {
-    sprintfex(&Args, "File %s Size %lu - Buffer size %lu", v3, v5, uBufferSize);
+    sprintf(&Args, "File %s Size %lu - Buffer size %lu", v3, v5, uBufferSize);
     Abortf(&Args);
   }
   memcpy(Dst, ptr, v5);
@@ -15315,7 +15315,7 @@
   uLevelStrNumStrings = (signed __int16)v2 - 1;
   if ( v0 > 800 )
   {
-    sprintfex(Args, "MAX_EVENT_TEXT_LENGTH needs to be increased to %lu", v0 + 1);
+    sprintf(Args, "MAX_EVENT_TEXT_LENGTH needs to be increased to %lu", v0 + 1);
     Abortf(Args);
   }
   v6 = 0;
@@ -15841,7 +15841,7 @@
   {
     if ( v10 )
     {
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[409], v0->pName);// "Do you wish to leave %s?"
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[409], v0->pName);// "Do you wish to leave %s?"
       v1 = pTmpBuf;
       goto LABEL_12;
     }
@@ -15874,7 +15874,7 @@
 
   pEventTimer->Pause();
   v0 = const_2();
-  sprintfex(pContainer, "evt%02d", v0);
+  sprintf(pContainer, "evt%02d", v0);
   if ( pParty->uAlignment )
   {
     if ( pParty->uAlignment != 2 )
@@ -15891,7 +15891,7 @@
   pTexture_outside = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture("outside", TEXTURE_16BIT_PALETTE)];
   v1 = pMapStats->GetMapInfo(pCurrentMapName);
   if ( v1 )
-    sprintfex(byte_591098, pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[v1].pName);// "Leave %s"
+    sprintf(byte_591098, pGlobalTXT_LocalizationStrings[410], pMapStats->pInfos[v1].pName);// "Leave %s"
   else
     strcpy(byte_591098, pGlobalTXT_LocalizationStrings[79]);// "Exit"
   result = GUIWindow::Create(0, 0, 640, 480, (enum WindowType)17, 0, (int)byte_591098);
@@ -15967,9 +15967,9 @@
       v6 = v3;
       v5 = pGlobalTXT_LocalizationStrings[128]; // "It will take %d days to travel to %s."
     }
-    sprintfex(pTmpBuf, v5, v6, v1->pName);
+    sprintf(pTmpBuf, v5, v6, v1->pName);
     strcat(pTmpBuf, "\n \n");
-    sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[126], pMapStats->pInfos[v9].pName);
+    sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[126], pMapStats->pInfos[v9].pName);
     strcat(pTmpBuf, pTmpBuf2);
     v4 = pFontCreate->CalcTextHeight(pTmpBuf, &v7, 0, 0);
     v7.DrawText2(pFontCreate, 0, (212 - v4) / 2 + 101, 0, pTmpBuf, 3u);
@@ -16029,7 +16029,7 @@
   }
   if ( pGUIWindow2->ptr_1C == (void *)26 )
   {
-    sprintfex(Str, "%s %s", GameUI_StatusBar_TimedString, pKeyActionMap->pPressedKeysBuffer);
+    sprintf(Str, "%s %s", GameUI_StatusBar_TimedString, pKeyActionMap->pPressedKeysBuffer);
     v3 = pFontLucida->GetLineWidth(Str);
     pGUIWindow2->DrawText(pFontLucida, 13, 357, 0, Str, 0, 0, 0);
     pGUIWindow2->DrawFlashingInputCursor(v3 + 13, 357, pFontLucida);
@@ -16190,7 +16190,7 @@
   if ( v3 )
   {
     v4 = pTmpBuf;
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v0->pName, aNPCProfessionNames[v3]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v0->pName, aNPCProfessionNames[v3]);
   }
   else
   {
@@ -16208,7 +16208,7 @@
     }
     if ( uDialogueType == 91 )
     {
-      sprintfex(v4, pGlobalTXT_LocalizationStrings[576], dword_F8B1B4);// "Congratulations on your win: here's your stuff: %u gold."
+      sprintf(v4, pGlobalTXT_LocalizationStrings[576], dword_F8B1B4);// "Congratulations on your win: here's your stuff: %u gold."
       pInString = v4;
       v8 = 0;
       goto LABEL_39;
@@ -16373,7 +16373,7 @@
         if ( v0->uFlags & 0x80 )
         {
 LABEL_59:
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[408], v0->pName);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[408], v0->pName);
           v24 = pTmpBuf;
           goto LABEL_79;
         }
@@ -19460,7 +19460,7 @@
   while ( v4 < 200 );
   if ( v4 >= 200 )
   {
-    sprintfex(&Args, "Unable to find Door ID: %i!", uDoorID);
+    sprintf(&Args, "Unable to find Door ID: %i!", uDoorID);
     Abortf(&Args);
   }
   v6 = &pIndoor->pDoors[v4];
--- a/mm7_4.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/mm7_4.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -2943,7 +2943,7 @@
   do
   {
     v5 = result + 1;
-    sprintfex(pTmpBuf, "%s%02d", *v3, result + 1);
+    sprintf(pTmpBuf, "%s%02d", *v3, result + 1);
     pIcons_LOD->ReloadTexture(*v4, pTmpBuf, 2);
     result = v5;
     ++v4;
@@ -5126,7 +5126,7 @@
         if ( v16 + 10 * (unsigned __int8)*v15 == 552 )
         {
           v46 = v13->GetDisplayName();
-          sprintfex(a1, format_4E2D80, v59, v46);
+          sprintf(a1, format_4E2D80, v59, v46);
 LABEL_117:
           v11 = a1;
           goto LABEL_118;
@@ -5172,7 +5172,7 @@
 LABEL_108:
           strncpy(a1, v15, 2u);
           v51 = atoi(a1);
-          sprintfex(a1, "%lu", v51);
+          sprintf(a1, "%lu", v51);
           goto LABEL_117;
         }
         v26 = &p2DEvents[(signed int)a4 - 1].fPriceMultiplier;
@@ -5216,7 +5216,7 @@
             }
           }
 LABEL_98:
-          sprintfex(a1, "%lu", v29);
+          sprintf(a1, "%lu", v29);
           goto LABEL_117;
         }
         v34 = *v26;
@@ -5252,7 +5252,7 @@
             v53 = v56.field_C + 1;
             v50 = v56.field_14;
 LABEL_116:
-            sprintfex(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v50], v53, v54);
+            sprintf(a1, pGlobalTXT_LocalizationStrings[378], aMonthNames[v50], v53, v54);
             goto LABEL_117;
           }
           v52 = pPlayers[4];
@@ -9513,7 +9513,7 @@
   v1 = *_this - 399;
   v2 = (*_this - 400) % 11 + 1;
   v11 = 4 * (*_this - 400) / 11;
-  sprintfex(pTmpBuf, "%s%03d", spellbook_texture_filename_suffices[v11 / 4], v2);
+  sprintf(pTmpBuf, "%s%03d", spellbook_texture_filename_suffices[v11 / 4], v2);
   if ( pMouse->GetCursorPos(&a2)->y <= 320 )
     v3 = pMouse->GetCursorPos(&a2)->y + 30;
   else
@@ -9536,7 +9536,7 @@
     v5 = v13;
   if ( v4 > v5 )
     v5 = v4;
-  sprintfex(
+  sprintf(
     pTmpBuf2,
     "%s\n\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s",
     pSpellStats->pInfos[v1].pDescription,
@@ -9573,7 +9573,7 @@
   a1.uFrameZ = a1.uFrameX + 107;
   a1.uFrameWidth = 108;
   a1.DrawText2(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v11 / 4 + 12], 3u);
-  sprintfex(pTmpBuf, "%s\n%d", pGlobalTXT_LocalizationStrings[522], *(&pSpellDatas[0].uNormalLevelMana + 10 * v1));
+  sprintf(pTmpBuf, "%s\n%d", pGlobalTXT_LocalizationStrings[522], *(&pSpellDatas[0].uNormalLevelMana + 10 * v1));
   return a1.DrawText2(
            pFontComic,
            0xCu,
@@ -9606,7 +9606,7 @@
     v4.uFrameX = 483;
     v4.uFrameWidth = 148;
     v4.uFrameZ = 334;
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[427], pPlayer->pName, pGlobalTXT_LocalizationStrings[562]);// 
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427], pPlayer->pName, pGlobalTXT_LocalizationStrings[562]);// 
                                                 // "%s is in no condition to %s"
                                                 // "do anything"
     v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
@@ -10333,7 +10333,7 @@
       {
         if ( v31 == v14 )
         {
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[634], pClassNames[v10 + 2], pClassNames[v10 + 3]);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[634], pClassNames[v10 + 2], pClassNames[v10 + 3]);
           return pTmpBuf;
         }
         v25 = pClassNames[v10 + 2];
@@ -10351,7 +10351,7 @@
     }
     v22 = pGlobalTXT_LocalizationStrings[633];
 LABEL_23:
-    sprintfex(pTmpBuf, v22, v25);
+    sprintf(pTmpBuf, v22, v25);
     return pTmpBuf;
   }
   if ( !v1->CanAct() )
@@ -10550,7 +10550,7 @@
     v24 = pSkillNames[v17];
     v21 = pGlobalTXT_LocalizationStrings[225];
 LABEL_90:
-    sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[534], v21, v24, v27);
+    sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[534], v21, v24, v27);
   }
   return pTmpBuf2;
 }
@@ -10675,7 +10675,7 @@
     v2 = (&off_4EB080)[4 * uHouse_ExitPic];
     if ( !v2 )
     {
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[411], v0);
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[411], v0);
       v2 = pTmpBuf;
     }
     v3 = v2;
@@ -10691,7 +10691,7 @@
   v7 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0x15u, 0x99u, 0xE9u);
   v8 = v6->uProfession;
   if ( v8 )
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v6->pName, aNPCProfessionNames[v8]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v6->pName, aNPCProfessionNames[v8]);
   else
     strcpy(pTmpBuf, v6->pName);
   a1.DrawText2(pFontCreate, 0x1E3u, 0x71u, v7, pTmpBuf, 3u);
@@ -10770,8 +10770,8 @@
           v30 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
           v31 = *(int *)v29;
           v32 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-          sprintfex(pTmpBuf, &byte_4F0F98, v32, v31, v30);
-          sprintfex(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * (unsigned __int8)v29[8]);
+          sprintf(pTmpBuf, &byte_4F0F98, v32, v31, v30);
+          sprintf(pTmpBuf2, dword_F8B1A4, pTmpBuf, 100 * (unsigned __int8)v29[8]);
           ptr_F8B1E8 = pTmpBuf2;
           v15 = "";
           goto LABEL_45;
@@ -10813,8 +10813,8 @@
             }
             if ( uDialogueType != 84 )
               goto LABEL_49;
-            sprintfex(pTmpBuf, format_4E2D80, v55, pItemsTable->pItems[dword_F8B1A8].pUnidentifiedName);
-            sprintfex(pTmpBuf2, ptr_F8B1E8, pTmpBuf);
+            sprintf(pTmpBuf, format_4E2D80, v55, pItemsTable->pItems[dword_F8B1A8].pUnidentifiedName);
+            sprintf(pTmpBuf2, ptr_F8B1E8, pTmpBuf);
             ptr_F8B1E8 = pTmpBuf2;
             goto LABEL_45;
           }
@@ -11800,7 +11800,7 @@
   {
     pDialogueWindow->Release();
     pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0);
-    sprintfex(byte_591098, pGlobalTXT_LocalizationStrings[411], pMapStats->pInfos[uHouse_ExitPic].pName);
+    sprintf(byte_591098, pGlobalTXT_LocalizationStrings[411], pMapStats->pInfos[uHouse_ExitPic].pName);
     ptr_5076F4 = pDialogueWindow->CreateButton(
                    0x236u,
                    0x1BDu,
@@ -12194,7 +12194,7 @@
             while ( (signed int)v15 < v13->pNumPresenceButton + v13->pStartingPosActiveItem );
             if ( v72 )
             {
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v73);// "Skill Cost: %lu"
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v73);// "Skill Cost: %lu"
               v65.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               v73 = (signed int)(149 - i) / v72;
               if ( v73 > 32 )
@@ -12244,7 +12244,7 @@
             else
             {
 LABEL_76:
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);// 
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v0->pName, pClassNames[v0->uClass]);// 
                                                 // "Seek knowledge elsewhere %s the %s"
               strcat(pTmpBuf, "\n \n");
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further."
@@ -12302,7 +12302,7 @@
                 pOutdoor->SetFog();
             }
             v0->PlaySound(87, 0);
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[430], v0->pName, v0->uLevel, v0->uLevel / 10 + 5);// 
+            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[430], v0->pName, v0->uLevel, v0->uLevel / 10 + 5);// 
                                                 // "%s is now Level %lu and has earned %lu Skill Points!"
             ShowStatusBarString(pTmpBuf, 2u);
             goto LABEL_56;
@@ -12323,7 +12323,7 @@
           }
           return result;
         }
-        sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[538], v5 - LODWORD(v0->uExperience), v34 + 1);// 
+        sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[538], v5 - LODWORD(v0->uExperience), v34 + 1);// 
                                                 // "You need %d more experience to train to level %d"
         v35 = 0;
         v62 = 3;
@@ -12333,7 +12333,7 @@
       }
       else
       {
-        sprintfex(pTmpBuf, "%s\n \n%s", pGlobalTXT_LocalizationStrings[536], pGlobalTXT_LocalizationStrings[529]);// 
+        sprintf(pTmpBuf, "%s\n \n%s", pGlobalTXT_LocalizationStrings[536], pGlobalTXT_LocalizationStrings[529]);// 
                                                 // ""With your skills, you should be working here as a teacher.""
                                                 // ""Sorry, but we are unable to train you.""
         v35 = 0;
@@ -12384,7 +12384,7 @@
               v61 = pGlobalTXT_LocalizationStrings[536];// ""With your skills, you should be working here as a teacher.""
               v59 = "%s\n \n%s";
             }
-            sprintfex(*v45, v59, v61, v64);
+            sprintf(*v45, v59, v61, v64);
           }
           v47 = pFontArrus->CalcTextHeight(*v45, &v65, 0, 0);
           v43 = pDialogueWindow;
@@ -12666,7 +12666,7 @@
           if ( !v122 )
           {
 LABEL_140:
-            sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);// 
+            sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], _this->pName, pClassNames[_this->uClass]);// 
                                                 // "Seek knowledge elsewhere %s the %s"
             strcat(pTmpBuf, "\n \n");
             strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further."
@@ -12679,7 +12679,7 @@
             v88 = &v112;
             goto LABEL_61;
           }
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v119);// "Skill Cost: %lu"
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v119);// "Skill Cost: %lu"
           v112.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           v119 = (const char **)((149 - v118) / v122);
           if ( (149 - v118) / v122 > 32 )
@@ -13535,7 +13535,7 @@
         v3 = (int)(&v1->uIntelligence + dword_F8B19C);
         if ( *(short *)v3 )
         {
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[403], pClassNames[dword_F8B19C + 20]);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[403], pClassNames[dword_F8B19C + 20]);
           ShowStatusBarString(pTmpBuf, 2u);
           pAudioPlayer->PlaySound(SOUND_27, 0, 0, -1, 0, 0, 0, 0);
         }
@@ -13707,7 +13707,7 @@
   if ( !v61 )
   {
 LABEL_64:
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->uClass]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v58->pName, pClassNames[v58->uClass]);
     strcat(pTmpBuf, "\n \n");
     strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
     v18 = pTmpBuf;
@@ -13721,7 +13721,7 @@
   }
   if ( Str )
   {
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v63);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v63);
     v52.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
   }
   v63 = (signed int)(149 - v62) / v61;
@@ -13911,7 +13911,7 @@
             while ( (signed int)v62 < v4->pNumPresenceButton + v11 );
             if ( v65 )
             {
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v64);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v64);
               v57.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               v64 = (149 - (signed int)v66) / (signed int)v65;
               if ( v64 > 32 )
@@ -13963,7 +13963,7 @@
             else
             {
 LABEL_78:
-              sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
+              sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
               strcat(pTmpBuf, "\n \n");
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
               v22 = WORD2(v59);
@@ -14117,7 +14117,7 @@
   v41->uY = 0;
   if ( v1->_4B6FF9() )
   {
-    sprintfex(a1, "%s %d %s", pGlobalTXT_LocalizationStrings[104], HIDWORD(v60), pGlobalTXT_LocalizationStrings[97]);
+    sprintf(a1, "%s %d %s", pGlobalTXT_LocalizationStrings[104], HIDWORD(v60), pGlobalTXT_LocalizationStrings[97]);
     v63 = 0;
   }
   strcpy(&Dest, pGlobalTXT_LocalizationStrings[68]);
@@ -14412,14 +14412,14 @@
   if ( !v34 )
   {
 LABEL_40:
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[544], v1->pName, pClassNames[v1->uClass]);
     strcat(pTmpBuf, "\n \n");
     strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
     v22 = v31;
     v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v28, 0, 0);
     return (int)v28.DrawText2(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u);
   }
-  sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v32);
+  sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v32);
   v28.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
   v32 = (149 - v33) / v34;
   if ( (149 - v33) / v34 > 32 )
@@ -14574,7 +14574,7 @@
       v59 = pDialogueWindow;
       v54 = v17;
       strcpy(&Dest, "");
-      sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[405], s1);
+      sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[405], s1);
       v18 = pFontArrus->CalcTextHeight(pTmpBuf2, &v53, 0, 0);
       v19 = v16->pNumPresenceButton;
       v20 = v18 + v17 + 146;
@@ -14605,7 +14605,7 @@
           if ( pDialogueWindow->pCurrentPosActiveItem != s1 )
             v27 = *(const char **)v57;
           v47[1] = v27;
-          sprintfex(a1, format_4E2DC8, v27);
+          sprintf(a1, format_4E2DC8, v27);
           v66 = (unsigned __int8)byte_4F09B8[v26 * 4];
           if ( (signed int)ptr_507BC0->ptr_1C >= 63 )
           {
@@ -14628,7 +14628,7 @@
           if ( v61 != (Player *)v2 )
           {
             memcpy(&v32, (char *)&pMapStats + 68 * (unsigned __int8)byte_4F09B0[v26 * 4], 0x44u);
-            sprintfex(
+            sprintf(
               pTmpBuf,
               pGlobalTXT_LocalizationStrings[404],
               v66,
@@ -14690,7 +14690,7 @@
         v45 = (unsigned int)&v49;
         v44 = &v48;
         v43 = pTmpBuf2;
-        sprintfex(pTmpBuf, "%s\n \n%s%s%s%s%s", pTmpBuf2, &v48, &v49, &v50, &v51, &Dest);
+        sprintf(pTmpBuf, "%s\n \n%s%s%s%s%s", pTmpBuf2, &v48, &v49, &v50, &v51, &Dest);
         v53.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
       }
       else
@@ -15379,7 +15379,7 @@
   pEventTimer->Pause();
   pAudioPlayer->StopChannels(-1, -1);
   v11 = const_2();
-  sprintfex(pContainer, "evt%02d", v11);
+  sprintf(pContainer, "evt%02d", v11);
   if ( pParty->uAlignment )
   {
     if ( pParty->uAlignment != 2 )
@@ -15412,7 +15412,7 @@
         v20 = pMapStats->pInfos[v14].pName;
         v18 = pGlobalTXT_LocalizationStrings[410];
 LABEL_10:
-        sprintfex(byte_591098, v18, v20);
+        sprintf(byte_591098, v18, v20);
         goto LABEL_20;
       }
       v21 = pGlobalTXT_LocalizationStrings[79];
@@ -15535,7 +15535,7 @@
     do
     {
       v8 = v19;
-      sprintfex(pContainer, "npc%03u", Dst[v19]);
+      sprintf(pContainer, "npc%03u", Dst[v19]);
       v9 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
       ++v19;
       pDialogueNPCPortraits[v8] = &pIcons_LOD->pTextures[v9];
@@ -15641,7 +15641,7 @@
         v9 -= 12;
         v8 = 1;
       }
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[414], v6, aAMPMNames[v7], v9, aAMPMNames[v8]);
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[414], v6, aAMPMNames[v7], v9, aAMPMNames[v8]);
       ShowStatusBarString(pTmpBuf, 2u);
       if ( uActiveCharacter )
         pPlayers[uActiveCharacter]->PlaySound(3, 0);
@@ -15698,7 +15698,7 @@
     if ( !pIcons_LOD->uNumPrevLoadedFiles )
       pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
     v16 = const_2();
-    sprintfex(pContainer, "evt%02d", v16);
+    sprintf(pContainer, "evt%02d", v16);
     if ( pParty->uAlignment )
     {
       if ( pParty->uAlignment != 2 )
--- a/mm7_5.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/mm7_5.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -2155,7 +2155,7 @@
           }
           else
           {
-            sprintfex(a1, "data\\lloyd%d%d.pcx", _506348_current_lloyd_playerid + 1, uMessageParam + 1);
+            sprintf(a1, "data\\lloyd%d%d.pcx", _506348_current_lloyd_playerid + 1, uMessageParam + 1);
             SaveScreenshot(a1);
             LoadThumbnailLloydTexture(uMessageParam, _506348_current_lloyd_playerid + 1);
             v212 = qword_506350 << 7;
@@ -2325,7 +2325,7 @@
           v157 = pGlobalTXT_LocalizationStrings[35];
           goto _sprintex_2args_draw_status_and_continue;
         case UIMSG_ShowFinalWindow:
-          sprintfex(
+          sprintf(
             pFinalMessage,
             "%s\n \n%s\n \n%s",
             pGlobalTXT_LocalizationStrings[151],// "Congratulations Adventurer."
@@ -2340,7 +2340,7 @@
           goto LABEL_524;
         case UIMSG_D5|0x8:
 LABEL_524:
-          sprintfex(pTmpBuf, "%s", pKeyActionMap->pPressedKeysBuffer);
+          sprintf(pTmpBuf, "%s", pKeyActionMap->pPressedKeysBuffer);
           memcpy(
             &v216,
             texture_frame_table_txt_parser((const char *)pKeyActionMap->pPressedKeysBuffer, &v218),
@@ -2380,7 +2380,7 @@
                 goto LABEL_90;
               }
             }
-            sprintfex(Str2, "No map found for %s", pMapStats->pInfos[v71].pName);
+            sprintf(Str2, "No map found for %s", pMapStats->pInfos[v71].pName);
             v73 = Str2;
           }
           else
@@ -2705,7 +2705,7 @@
             v178 = pSpellStats->pInfos[uMessageParam + 11 * v98 + 1].pName;
             v161 = pGlobalTXT_LocalizationStrings[486];
           }
-          sprintfex(pTmpBuf, v161, v178);
+          sprintf(pTmpBuf, v161, v178);
           sub_41C0B8_set_status_string(pTmpBuf);
           goto LABEL_91;
         case 0x58:
@@ -5159,7 +5159,7 @@
         v47 = pGlobalTXT_LocalizationStrings[189];// "%s shoots %s for %lu points"
       else
         v47 = pGlobalTXT_LocalizationStrings[164];// "%s hits %s for %lu damage"
-      sprintfex(pTmpBuf, v47, pPlayerName, pMonsterName, v50);
+      sprintf(pTmpBuf, v47, pPlayerName, pMonsterName, v50);
       ShowStatusBarString(pTmpBuf, 2u);
     }
     v41 = 0;
@@ -5208,7 +5208,7 @@
       v50 = (int)pMonster;
       pMonsterName = (char *)uDamageAmount;
       pPlayerName = pPlayer->pName;             // "%s inflicts %lu points killing %s"
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[175], pPlayer->pName, uDamageAmount, pMonster);
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[175], pPlayer->pName, uDamageAmount, pMonster);
       ShowStatusBarString(pTmpBuf, 2u);
     }
   }
@@ -5231,7 +5231,7 @@
     {
       v50 = (int)pMonster;
       pMonsterName = pPlayer->pName;            // "%s stuns %s"
-      sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[635], pPlayer->pName, pMonster);
+      sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[635], pPlayer->pName, pMonster);
       ShowStatusBarString(pTmpBuf, 2u);
     }
   }
@@ -5251,7 +5251,7 @@
         {
           v50 = (int)pMonster;
           pMonsterName = pPlayer->pName;        // "%s paralyzes %s"
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[636], pPlayer->pName, pMonster);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[636], pPlayer->pName, pMonster);
           ShowStatusBarString(pTmpBuf, 2u);
         }
       }
@@ -5573,7 +5573,7 @@
       v52 = v51;
       if ( (signed int)SkillToMastery(v51) >= 4 && rand() % 100 < (v52 & 0x3F) )
       {
-        sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[637], v45 + 168);
+        sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[637], v45 + 168);
         ShowStatusBarString(pTmpBuf, 2u);
         ((Player *)v45)->PlaySound(6, 0);
         return;
@@ -6560,7 +6560,7 @@
               goto LABEL_88;
 LABEL_91:
             v6 = "item%3.3dv%da1";
-            return sprintfex(a1, v6, v7, v8);
+            return sprintf(a1, v6, v7, v8);
           }
           if ( a2 == 521 )
           {
@@ -6602,7 +6602,7 @@
         v7 = a2;
 LABEL_88:
         v6 = "item%3.3dv%d";
-        return sprintfex(a1, v6, v7, v8);
+        return sprintf(a1, v6, v7, v8);
       }
     }
     if ( a2 != 516 )
@@ -6629,7 +6629,7 @@
           v8 = a3;
           v7 = a2;
           v6 = "item%3.3dv%da2";
-          return sprintfex(a1, v6, v7, v8);
+          return sprintf(a1, v6, v7, v8);
         }
         v8 = a3;
         v7 = a2;
@@ -12090,7 +12090,7 @@
 //----- (0040DEC8) --------------------------------------------------------
 void __fastcall intToString(int val, char *pOut)
 {
-  sprintfex(pOut, "%d", val);
+  sprintf(pOut, "%d", val);
 }
 
 //----- (0040DEDB) --------------------------------------------------------
@@ -12533,7 +12533,7 @@
     v5 = v12;
   if ( v4 > v5 )
     v5 = v4;
-  sprintfex(
+  sprintf(
     pTmpBuf2,
     "%s\n\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s\t000\n%s\t%03d:\t%03d%s",
     v2->pDescription,
@@ -12570,7 +12570,7 @@
   a1.uFrameWidth = 108;
   a1.uFrameZ = a1.uFrameX + 107;
   a1.DrawText2(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v1->pNumSpellBookPage + 12], 3u);
-  sprintfex(
+  sprintf(
     pTmpBuf,
     "%s\n%d",
     pGlobalTXT_LocalizationStrings[522],
@@ -12655,7 +12655,7 @@
   v22.uFrameW = 351;
   if ( !bRecallingBeacon )
     v1 = pGlobalTXT_LocalizationStrings[375];   // Set Beacon
-  sprintfex(pTmpBuf, "%s", v1);
+  sprintf(pTmpBuf, "%s", v1);
   v22.DrawText2(pBook2Font, 0, 22u, 0, pTmpBuf, 3u);
   if ( bRecallingBeacon )
   {
@@ -12744,7 +12744,7 @@
         v20 = v13;
         v17 = v11 + 1;
 LABEL_25:
-        sprintfex(pTmpBuf, "%lu %s", v17, v20);
+        sprintf(pTmpBuf, "%lu %s", v17, v20);
         v21 = 3;
         v18 = pTmpBuf;
         v16 = 1;
@@ -12934,10 +12934,10 @@
     if ( v11->pName[v4] )
     {
       v6 = &byte_4E2430[12 * v1] + v4;
-      sprintfex(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[v1], (unsigned __int8)*v6);
+      sprintf(pContainer, "SB%sS%02d", spellbook_texture_filename_suffices[v1], (unsigned __int8)*v6);
       v7 = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);
       dword_506408[v12] = 72 * v7 + 7145548;
-      sprintfex(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[v1], (unsigned __int8)*v6);
+      sprintf(pContainer, "SB%sC%02d", spellbook_texture_filename_suffices[v1], (unsigned __int8)*v6);
       result = &pIcons_LOD->pTextures[pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE)];
       dword_5063D8[v12] = result;
     }
@@ -13903,7 +13903,7 @@
   if ( v7 )
     v22.DrawText2(pBook2Font, 0xFFFFFFF2u, 0xCu, 0, pMapStats->pInfos[v7].pName, 3u);
   v22.uFrameX = 0;
-  sprintfex(Str, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y);
+  sprintf(Str, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y);
   return v22.DrawText2(pFontComic, 0, 0x140u, 0, Str, 0);
 }
 
@@ -13993,7 +13993,7 @@
   a1.uFrameW = 467;
   a1.DrawText2(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[186], 3u);
   v1 = GetDayPart();
-  sprintfex(
+  sprintf(
     pTmpBuf,
     "%s\t100:\t110%d:%02d %s - %s",
     pGlobalTXT_LocalizationStrings[526],
@@ -14002,29 +14002,29 @@
     aAMPMNames[v2],
     v1);
   a1.DrawText(pBookFont, 70, 55, a5, pTmpBuf, 0, 0, 0);
-  sprintfex(
+  sprintf(
     pTmpBuf,
     "%s\t100:\t110%d - %s",
     pGlobalTXT_LocalizationStrings[56],
     pParty->uDaysPlayed + 1,
     aDayNames[pParty->uDaysPlayed % 7]);
   a1.DrawText(pBookFont, 70, 2 * LOBYTE(pBookFont->uFontHeight) + 49, a5, pTmpBuf, 0, 0, 0);
-  sprintfex(
+  sprintf(
     pTmpBuf,
     "%s\t100:\t110%d - %s",
     pGlobalTXT_LocalizationStrings[146],
     pParty->uCurrentMonth + 1,
     aMonthNames[pParty->uCurrentMonth]);
   a1.DrawText(pBookFont, 70, 4 * LOBYTE(pBookFont->uFontHeight) + 43, a5, pTmpBuf, 0, 0, 0);
-  sprintfex(pTmpBuf, "%s\t100:\t110%d", pGlobalTXT_LocalizationStrings[245], pParty->uCurrentYear);
+  sprintf(pTmpBuf, "%s\t100:\t110%d", pGlobalTXT_LocalizationStrings[245], pParty->uCurrentYear);
   a1.DrawText(pBookFont, 70, 6 * LOBYTE(pBookFont->uFontHeight) + 37, a5, pTmpBuf, 0, 0, 0);
-  sprintfex(pTmpBuf, "%s\t100:\t110%s", pGlobalTXT_LocalizationStrings[530], aMoonPhaseNames[v7]);
+  sprintf(pTmpBuf, "%s\t100:\t110%s", pGlobalTXT_LocalizationStrings[530], aMoonPhaseNames[v7]);
   a1.DrawText(pBookFont, 70, 8 * LOBYTE(pBookFont->uFontHeight) + 31, a5, pTmpBuf, 0, 0, 0);
   if ( v6 )
     v3 = pMapStats->pInfos[v6].pName;
   else
     v3 = "Unknown";
-  sprintfex(pTmpBuf, "%s\t100:\t110%s", pGlobalTXT_LocalizationStrings[531], v3);
+  sprintf(pTmpBuf, "%s\t100:\t110%s", pGlobalTXT_LocalizationStrings[531], v3);
   return a1.DrawText(pBookFont, 70, 10 * LOBYTE(pBookFont->uFontHeight) + 25, a5, pTmpBuf, 0, 0, 0);
 }
 
@@ -14122,7 +14122,7 @@
 {
   GUIWindow v0; // [sp+4h] [bp-54h]@1
 
-  sprintfex(pTmpBuf2, "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
+  sprintf(pTmpBuf2, "%s\n \n%s", ptr_507BDC->Hint, pGlobalTXT_LocalizationStrings[61]);// Press Escape
   v0.Hint = pTmpBuf2;
   v0.uFrameWidth = 400;
   v0.uFrameHeight = 100;
@@ -15345,7 +15345,7 @@
   }
   if ( !v0->CanAct() )
   {
-    sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]);
+    sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[427], v0->pName, pGlobalTXT_LocalizationStrings[541]);
     v43.Hint = pTmpBuf;
     v43.uFrameWidth = 384;
     v43.uFrameHeight = 180;
@@ -15777,7 +15777,7 @@
         a1.uFrameWidth = 400;
         a1.uFrameZ = a1.uFrameX + 399;
         a1.DrawMessageBox(0);
-        sprintfex(pTmpBuf2, "NPC%03d", v6->uPortraitID);
+        sprintf(pTmpBuf2, "NPC%03d", v6->uPortraitID);
         v8 = pIcons_LOD->LoadTexture(pTmpBuf2, TEXTURE_16BIT_PALETTE);
         pRenderer->DrawTextureIndexed(
           a1.uFrameX + 22,
@@ -15788,7 +15788,7 @@
         {
           v10 = v6->pName;
           v11 = pTmpBuf;
-          sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v10, aNPCProfessionNames[v9]);
+          sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v10, aNPCProfessionNames[v9]);
         }
         else
         {
@@ -15890,7 +15890,7 @@
       __debugbreak();
       if ( !pPlayers[uActiveCharacter]->CanAct() )
       {
-        sprintfex(
+        sprintf(
           pTmpBuf,
           pGlobalTXT_LocalizationStrings[427],
           pPlayers[uActiveCharacter]->pName,
@@ -16208,7 +16208,7 @@
     a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1;
     a1.uFrameW = a1.uFrameY + a1.uFrameHeight - 1;
     v25 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-    sprintfex(pTmpBuf, format_4E2D80, v25, v14);
+    sprintf(pTmpBuf, format_4E2D80, v25, v14);
     a1.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
     a1.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v23, 0, 0, 0);
   }
@@ -16499,7 +16499,7 @@
   Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
   Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
   v4 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  sprintfex(pTmpBuf, format_4E2D80, v4, v3);
+  sprintf(pTmpBuf, format_4E2D80, v4, v3);
   Dst.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
   return Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0);
 }
@@ -16632,26 +16632,26 @@
   {
     strcpy(a2, "%s\n\n");
     v24 = sub_417AD4(pPlayer->uClass, v2, 1);
-    sprintfex(Source, format_4E2DC8, v24);
+    sprintf(Source, format_4E2DC8, v24);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v25 = sub_417AD4(pPlayer->uClass, v36, 2);
-    sprintfex(Source, format_4E2DC8, v25);
+    sprintf(Source, format_4E2DC8, v25);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v26 = sub_417AD4(pPlayer->uClass, v36, 3);
-    sprintfex(Source, format_4E2DC8, v26);
+    sprintf(Source, format_4E2DC8, v26);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v27 = pPlayer->uClass;
     v28 = v36;
     v29 = sub_417AD4(v27, v36, 4);
-    sprintfex(Source, format_4E2DC8, v29);
+    sprintf(Source, format_4E2DC8, v29);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
 
     v23 = static_sub_417BB5_out_string;
-    sprintfex(
+    sprintf(
       static_sub_417BB5_out_string,
       a2,
       pSkillDesc[v28],
@@ -16676,24 +16676,24 @@
   {
     strcpy(a2, "%s\n\n");
     v9 = sub_417AD4(pPlayer->uClass, v2, 1);
-    sprintfex(Source, format_4E2DC8, v9);
+    sprintf(Source, format_4E2DC8, v9);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v10 = sub_417AD4(pPlayer->uClass, v36, 2);
-    sprintfex(Source, format_4E2DC8, v10);
+    sprintf(Source, format_4E2DC8, v10);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v11 = sub_417AD4(pPlayer->uClass, v36, 3);
-    sprintfex(Source, format_4E2DC8, v11);
+    sprintf(Source, format_4E2DC8, v11);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n");
     v12 = v36;
     v13 = sub_417AD4(pPlayer->uClass, v36, 4);
-    sprintfex(Source, format_4E2DC8, v13);
+    sprintf(Source, format_4E2DC8, v13);
     strcat(a2, Source);
     strcat(a2, "%s\t%03d:\t%03d%s\t000\n\n");
     v14 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
-    sprintfex(Source, format_4E2DC8, v14);
+    sprintf(Source, format_4E2DC8, v14);
     strcat(a2, Source);
     strcat(a2, "%s: +%d");
     v15 = v12;
@@ -16707,7 +16707,7 @@
     v21 = *(int *)((char *)pNormalSkillDesc + v15);
     v22 = *(int *)((char *)pSkillDesc + v15);
     v23 = static_sub_417BB5_out_string;
-    sprintfex(
+    sprintf(
       static_sub_417BB5_out_string,
       a2,
       v22,
@@ -16875,7 +16875,7 @@
           v10 = aCharacterConditionNames[v8];
           v19 %= 24i64;
           v11 = GetConditionDrawColor(v8);
-          sprintfex(pTmpBuf, &byte_4E2DE8, v11, v10);
+          sprintf(pTmpBuf, &byte_4E2DE8, v11, v10);
           strcat(pTmpBuf2, pTmpBuf);
           if ( v19 && v19 <= 1 )
             v12 = pGlobalTXT_LocalizationStrings[109];
@@ -16883,7 +16883,7 @@
             v12 = pGlobalTXT_LocalizationStrings[110];
           if ( !v22 || (v13 = pGlobalTXT_LocalizationStrings[56], v22 > 1) )
             v13 = pGlobalTXT_LocalizationStrings[57];
-          sprintfex(pTmpBuf, "%lu %s, %lu %s", v22, v13, v19, v12);
+          sprintf(pTmpBuf, "%lu %s, %lu %s", v22, v13, v19, v12);
           strcat(pTmpBuf2, pTmpBuf);
           v7 = v20;
           _y = v21;
@@ -16921,12 +16921,12 @@
       pTmpBuf[0] = 0;
       pTmpBuf2[0] = 0;
       if ( v15 > v14->uLevel )
-        sprintfex(pTmpBuf, pGlobalTXT_LocalizationStrings[147], v15);
+        sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[147], v15);
       v16 = sub_4B46F8(v15) - LODWORD(v14->uExperience);
-      sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[538], v16, v15 + 1);
+      sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[538], v16, v15 + 1);
       strcat(pTmpBuf, "\n");
       strcat(pTmpBuf, pTmpBuf2);
-      LOBYTE(_y) = sprintfex(pTmpBuf2, "%s\n \n%s", pPlayerExperienceAttributeDescription, pTmpBuf);
+      LOBYTE(_y) = sprintf(pTmpBuf2, "%s\n \n%s", pPlayerExperienceAttributeDescription, pTmpBuf);
       v7 = pTmpBuf2;
       goto LABEL_47;
     case 15:
@@ -17145,14 +17145,14 @@
   v2 = pIcons_LOD->LoadTexture("fr_stats", TEXTURE_16BIT_PALETTE);
   pRenderer->DrawTextureIndexed(8u, 8u, (Texture *)(v2 != -1 ? (int)&pIcons_LOD->pTextures[v2] : 0));
   v3 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  sprintfex(pTmpBuf, format_4E2DC8, v3);
-  sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[429], pPlayer->pName, pClassNames[pPlayer->uClass]);
+  sprintf(pTmpBuf, format_4E2DC8, v3);
+  sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[429], pPlayer->pName, pClassNames[pPlayer->uClass]);
   strcat(pTmpBuf, pTmpBuf2);
   if ( pPlayer->uSkillPoints )
     v4 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0, 0xFFu, 0);
   else
     v4 = 0xFFFFu;
-  sprintfex(pTmpBuf2, "\xC" "00000\xD" "180%s: \xC%05d%d\xC" "00000\n\n\n", pGlobalTXT_LocalizationStrings[207], v4, pPlayer->uSkillPoints);
+  sprintf(pTmpBuf2, "\xC" "00000\xD" "180%s: \xC%05d%d\xC" "00000\n\n\n", pGlobalTXT_LocalizationStrings[207], v4, pPlayer->uSkillPoints);
   strcat(pTmpBuf, pTmpBuf2);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, 18, 0, pTmpBuf, 0, 0, 0);
   v5 = pPlayer->GetBaseStrength();
@@ -17160,7 +17160,7 @@
   v7 = pPlayer->GetBaseStrength();
   v8 = pPlayer->GetActualMight();
   v9 = UI_GetHealthManaStringColor(v8, v7);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[144], v9, v6, v5);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[144], v9, v6, v5);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, 53, 0, pTmpBuf, 0, 0, 0);
   v10 = LOBYTE(pFontArrus->uFontHeight) + 51;
   v11 = pPlayer->GetBaseIntelligence();
@@ -17168,7 +17168,7 @@
   v13 = pPlayer->GetBaseIntelligence();
   v14 = pPlayer->GetActualIntelligence();
   v15 = UI_GetHealthManaStringColor(v14, v13);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[116], v15, v12, v11);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[116], v15, v12, v11);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v10, 0, pTmpBuf, 0, 0, 0);
   v16 = LOBYTE(pFontArrus->uFontHeight) + v10 - 2;
   v17 = pPlayer->GetBaseWillpower();
@@ -17176,7 +17176,7 @@
   v19 = pPlayer->GetBaseWillpower();
   v20 = pPlayer->GetActualWillpower();
   v21 = UI_GetHealthManaStringColor(v20, v19);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[163], v21, v18, v17);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[163], v21, v18, v17);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v16, 0, pTmpBuf, 0, 0, 0);
   v22 = LOBYTE(pFontArrus->uFontHeight) + v16 - 2;
   v23 = pPlayer->GetBaseEndurance();
@@ -17184,7 +17184,7 @@
   v25 = pPlayer->GetBaseEndurance();
   v26 = pPlayer->GetActualEndurance();
   v27 = UI_GetHealthManaStringColor(v26, v25);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[75], v27, v24, v23);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[75], v27, v24, v23);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v22, 0, pTmpBuf, 0, 0, 0);
   v28 = LOBYTE(pFontArrus->uFontHeight) + v22 - 2;
   v29 = pPlayer->GetBaseAccuracy();
@@ -17192,7 +17192,7 @@
   v31 = pPlayer->GetBaseAccuracy();
   v32 = pPlayer->GetActualAccuracy();
   v33 = UI_GetHealthManaStringColor(v32, v31);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[1], v33, v30, v29);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[1], v33, v30, v29);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v28, 0, pTmpBuf, 0, 0, 0);
   v34 = LOBYTE(pFontArrus->uFontHeight) + v28 - 2;
   v35 = pPlayer->GetBaseSpeed();
@@ -17200,7 +17200,7 @@
   v37 = pPlayer->GetBaseSpeed();
   v38 = pPlayer->GetActualSpeed();
   v39 = UI_GetHealthManaStringColor(v38, v37);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[211], v39, v36, v35);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[211], v39, v36, v35);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v34, 0, pTmpBuf, 0, 0, 0);
   v40 = LOBYTE(pFontArrus->uFontHeight) + v34 - 2;
   v41 = pPlayer->GetBaseLuck();
@@ -17208,7 +17208,7 @@
   v43 = pPlayer->GetBaseLuck();
   v44 = pPlayer->GetActualLuck();
   v45 = UI_GetHealthManaStringColor(v44, v43);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[136], v45, v42, v41);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[136], v45, v42, v41);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v40, 0, pTmpBuf, 0, 0, 0);
   a2 = "%s";
   v46 = v40 + 2 * LOBYTE(pFontArrus->uFontHeight) + 5;
@@ -17218,7 +17218,7 @@
   v48 = pPlayer->sHealth;
   v49 = pPlayer->GetMaxHealth();
   v50 = UI_GetHealthManaStringColor(pPlayer->sHealth, v49);
-  sprintfex(pTmpBuf, a2, pGlobalTXT_LocalizationStrings[108], v50, v48, v47);
+  sprintf(pTmpBuf, a2, pGlobalTXT_LocalizationStrings[108], v50, v48, v47);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v46, 0, pTmpBuf, 0, 0, 0);
   a2a = "%s";
   uY = LOBYTE(pFontArrus->uFontHeight) + v46 - 2;
@@ -17228,7 +17228,7 @@
   v52 = pPlayer->sMana;
   v53 = pPlayer->GetMaxMana();
   v54 = UI_GetHealthManaStringColor(pPlayer->sMana, v53);
-  sprintfex(pTmpBuf, a2a, pGlobalTXT_LocalizationStrings[212], v54, v52, v51);
+  sprintf(pTmpBuf, a2a, pGlobalTXT_LocalizationStrings[212], v54, v52, v51);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, uY, 0, pTmpBuf, 0, 0, 0);
   v55 = LOBYTE(pFontArrus->uFontHeight) + uY - 2;
   v56 = pPlayer->GetBaseAC();
@@ -17236,13 +17236,13 @@
   v58 = pPlayer->GetBaseAC();
   v59 = pPlayer->GetActualAC();
   v60 = UI_GetHealthManaStringColor(v59, v58);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[12], v60, v57, v56);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[12], v60, v57, v56);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 26, v55, 0, pTmpBuf, 0, 0, 0);
   v61 = v55 + 2 * LOBYTE(pFontArrus->uFontHeight) - 2;
   v62 = pPlayer->GetMajorConditionIdx();
   v63 = aCharacterConditionNames[v62];
   v64 = GetConditionDrawColor(v62);
-  sprintfex(pTmpBuf, "%s: ", pGlobalTXT_LocalizationStrings[47], v64, v63);
+  sprintf(pTmpBuf, "%s: ", pGlobalTXT_LocalizationStrings[47], v64, v63);
   pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, 0x1Au, v61, 0, pTmpBuf, 226, 0);
   v65 = LOBYTE(pFontArrus->uFontHeight) + v61 - 1;
   v66 = pPlayer->uQuickSpell;
@@ -17250,14 +17250,14 @@
     v67 = pSpellStats->pInfos[v66].pShortName;
   else
     v67 = pGlobalTXT_LocalizationStrings[153];
-  sprintfex(pTmpBuf, "%s: %s", pGlobalTXT_LocalizationStrings[172], v67);
+  sprintf(pTmpBuf, "%s: %s", pGlobalTXT_LocalizationStrings[172], v67);
   pGUIWindow_CurrentMenu->DrawTextInRect(pFontArrus, 0x1Au, v65, 0, pTmpBuf, 226, 0);
   v68 = pPlayer->GetBaseAge();
   v69 = pPlayer->GetActualAge();
   v70 = pPlayer->GetBaseAge();
   v71 = pPlayer->GetActualAge();
   v72 = UI_GetHealthManaStringColor(v71, v70);
-  sprintfex(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[5], v72, v69, v68);
+  sprintf(pTmpBuf, "%s", pGlobalTXT_LocalizationStrings[5], v72, v69, v68);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, 50, 0, pTmpBuf, 0, 0, 0);
   a2b = "%s";
   uYa = LOBYTE(pFontArrus->uFontHeight) + 48;
@@ -17268,7 +17268,7 @@
   v75 = pPlayer->GetBaseLevel();
   v76 = pPlayer->GetActualLevel();
   v77 = UI_GetHealthManaStringColor(v76, v75);
-  sprintfex(pTmpBuf, a2b, pGlobalTXT_LocalizationStrings[131], v77, v74, v73);
+  sprintf(pTmpBuf, a2b, pGlobalTXT_LocalizationStrings[131], v77, v74, v73);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYa, 0, pTmpBuf, 0, 0, 0);
   uYb = uYa + LOBYTE(pFontArrus->uFontHeight) - 2;
   if ( (signed __int64)pPlayer->uExperience <= 9999999 )
@@ -17278,23 +17278,23 @@
   v79 = LODWORD(pPlayer->uExperience);
   v80 = v78;
   v81 = pPlayer->GetExperienceDisplayColor();
-  sprintfex(pTmpBuf, "%s\r180", v80, v81, v79);
+  sprintf(pTmpBuf, "%s\r180", v80, v81, v79);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYb, 0, pTmpBuf, 0, 0, 0);
   v82 = uYb + 2 * LOBYTE(pFontArrus->uFontHeight);
   v83 = pPlayer->GetActualAttack(0);
-  sprintfex(pTmpBuf, "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[18], v83);
+  sprintf(pTmpBuf, "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[18], v83);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, v82, 0, pTmpBuf, 0, 0, 0);
   v84 = v82 + LOBYTE(pFontArrus->uFontHeight) - 2;
   v85 = pPlayer->GetMeleeDamageString();
-  sprintfex(pTmpBuf, "%s\t100 %s\n", pGlobalTXT_LocalizationStrings[53], v85);
+  sprintf(pTmpBuf, "%s\t100 %s\n", pGlobalTXT_LocalizationStrings[53], v85);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, v84, 0, pTmpBuf, 0, 0, 0);
   v86 = v84 + LOBYTE(pFontArrus->uFontHeight) - 2;
   v87 = pPlayer->GetRangedAttack();
-  sprintfex(pTmpBuf, "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[203], v87);
+  sprintf(pTmpBuf, "%s\t100%+d\n", pGlobalTXT_LocalizationStrings[203], v87);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, v86, 0, pTmpBuf, 0, 0, 0);
   v88 = v86 + LOBYTE(pFontArrus->uFontHeight) - 2;
   v89 = pPlayer->GetRangedDamageString();
-  sprintfex(pTmpBuf, "%s\t100 %s\n\n", pGlobalTXT_LocalizationStrings[53], v89);
+  sprintf(pTmpBuf, "%s\t100 %s\n\n", pGlobalTXT_LocalizationStrings[53], v89);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, v88, 0, pTmpBuf, 0, 0, 0);
   a2c = format_4E2E10;
   uYc = v88 + 2 * LOBYTE(pFontArrus->uFontHeight) - 4;
@@ -17304,7 +17304,7 @@
     a2c = format_4E2E68;
   v91 = v90;
   v92 = UI_GetHealthManaStringColor(v131, v90);
-  sprintfex(pTmpBuf, a2c, pGlobalTXT_LocalizationStrings[87], v92, v131, v91);
+  sprintf(pTmpBuf, a2c, pGlobalTXT_LocalizationStrings[87], v92, v131, v91);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYc, 0, pTmpBuf, 0, 0, 0);
   a2d = format_4E2E10;
   uYd = uYc + LOBYTE(pFontArrus->uFontHeight) - 2;
@@ -17314,7 +17314,7 @@
     a2d = format_4E2E68;
   v94 = v93;
   v95 = UI_GetHealthManaStringColor(v132, v93);
-  sprintfex(pTmpBuf, a2d, pGlobalTXT_LocalizationStrings[6], v95, v132, v94);
+  sprintf(pTmpBuf, a2d, pGlobalTXT_LocalizationStrings[6], v95, v132, v94);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYd, 0, pTmpBuf, 0, 0, 0);
   a2e = format_4E2E10;
   uYe = uYd + LOBYTE(pFontArrus->uFontHeight) - 2;
@@ -17324,7 +17324,7 @@
     a2e = format_4E2E68;
   v97 = v96;
   v98 = UI_GetHealthManaStringColor(v133, v96);
-  sprintfex(pTmpBuf, a2e, pGlobalTXT_LocalizationStrings[240], v98, v133, v97);
+  sprintf(pTmpBuf, a2e, pGlobalTXT_LocalizationStrings[240], v98, v133, v97);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYe, 0, pTmpBuf, 0, 0, 0);
   a2f = format_4E2E10;
   uYf = uYe + LOBYTE(pFontArrus->uFontHeight) - 2;
@@ -17334,7 +17334,7 @@
     a2f = format_4E2E68;
   v100 = v99;
   v101 = UI_GetHealthManaStringColor(v134, v99);
-  sprintfex(pTmpBuf, a2f, pGlobalTXT_LocalizationStrings[70], v101, v134, v100);
+  sprintf(pTmpBuf, a2f, pGlobalTXT_LocalizationStrings[70], v101, v134, v100);
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYf, 0, pTmpBuf, 0, 0, 0);
   a2g = format_4E2E10;
   uYg = uYf + LOBYTE(pFontArrus->uFontHeight) - 2;
@@ -17345,12 +17345,12 @@
     a2g = format_4E2E68;
   v103 = v102;
   v104 = UI_GetHealthManaStringColor(v135, v102);
-  sprintfex(pTmpBuf, a2g, pGlobalTXT_LocalizationStrings[142], v104, v135, v103);
+  sprintf(pTmpBuf, a2g, pGlobalTXT_LocalizationStrings[142], v104, v135, v103);
   if ( pPlayer->uClass == 35 && v137 == 200 )
   {
     v105 = pGlobalTXT_LocalizationStrings[625];
     v106 = UI_GetHealthManaStringColor(v135, 200);
-    sprintfex(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[142], v106, v105);
+    sprintf(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[142], v106, v105);
   }
   pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYg, 0, pTmpBuf, 0, 0, 0);
   a2h = format_4E2E10;
@@ -17362,12 +17362,12 @@
     a2h = format_4E2E68;
   v108 = v107;
   v109 = UI_GetHealthManaStringColor(v136, v107);
-  sprintfex(pTmpBuf, a2h, pGlobalTXT_LocalizationStrings[29], v109, v136, v108);
+  sprintf(pTmpBuf, a2h, pGlobalTXT_LocalizationStrings[29], v109, v136, v108);
   if ( pPlayer->uClass == 35 && v138 == 200 )
   {
     v110 = pGlobalTXT_LocalizationStrings[625];
     v111 = UI_GetHealthManaStringColor(v136, 200);
-    sprintfex(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[29], v111, v110);
+    sprintf(pTmpBuf, format_4E2E00, pGlobalTXT_LocalizationStrings[29], v111, v110);
   }
   return pGUIWindow_CurrentMenu->DrawText(pFontArrus, 266, uYh, 0, pTmpBuf, 0, 0, 0);
 }
--- a/mm7_6.cpp	Fri Nov 02 00:44:18 2012 +0600
+++ b/mm7_6.cpp	Sat Nov 03 19:58:37 2012 +0600
@@ -1405,9 +1405,9 @@
     Dst.uItemID = pActor->uCarriedItemID;
     v9 = pItemsTable->pItems[Dst.uItemID].pUnidentifiedName;
     if ( v14 )
-      sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v9);
+      sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v9);
     else
-      sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v9);
+      sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v9);
     ShowStatusBarString(pTmpBuf2, 2u);
     v4 = Dst.uItemID;
     v5 = Dst.uItemID;
@@ -1455,9 +1455,9 @@
       pActor->array_000234[3].Reset();
       v11 = pItemsTable->pItems[Dst.uItemID].pUnidentifiedName;
       if ( v14 )
-        sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v11);
+        sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v11);
       else
-        sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v11);
+        sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v11);
       ShowStatusBarString(pTmpBuf2, 2u);
       if ( !pParty->AddItem(&Dst) )
         pParty->SetHoldingItem(&Dst);
@@ -1474,9 +1474,9 @@
   pItemsTable->GenerateItem(v7, pActor->pMonsterInfo.uTreasureType, &Dst);
   v10 = pItemsTable->pItems[Dst.uItemID].pUnidentifiedName;
   if ( v14 )
-    sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v10);
+    sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[490], v14, v10);
   else
-    sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v10);
+    sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], v10);
   ShowStatusBarString(pTmpBuf2, 2u);
   v8 = pParty;
   if ( !pParty->AddItem(&Dst) )
@@ -6236,7 +6236,7 @@
           if ( v683.uItemID != v1 )
           {
             v422 = v683.GetDisplayName();
-            sprintfex(pTmpBuf2, "(%s), and %d gold", v422, v675);
+            sprintf(pTmpBuf2, "(%s), and %d gold", v422, v675);
             goto LABEL_807;
           }
           v664 = "%d gold";
@@ -6247,7 +6247,7 @@
           v675 = v683.GetDisplayName();
           v664 = "(%s)";
 LABEL_803:
-          sprintfex(pTmpBuf2, v664, v675);
+          sprintf(pTmpBuf2, v664, v675);
           goto LABEL_807;
         }
         strcpy(pTmpBuf2, "nothing");
@@ -6458,7 +6458,7 @@
           }
           else
           {
-            sprintfex(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], pItemsTable->pItems[v450].pUnidentifiedName);
+            sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[471], pItemsTable->pItems[v450].pUnidentifiedName);
             ShowStatusBarString(pTmpBuf2, 2u);
             if ( !pParty->AddItem(&pLayingItems[v445].stru_24) )
               pParty->SetHoldingItem(&pLayingItems[v445].stru_24);