diff Items.cpp @ 1231:182b910c528d

Слияние
author Ritor1
date Sun, 09 Jun 2013 10:18:51 +0600
parents 42b41aaecd87 8c02e6f74b29
children 5450af4f57ef
line wrap: on
line diff
--- a/Items.cpp	Sun Jun 09 10:16:10 2013 +0600
+++ b/Items.cpp	Sun Jun 09 10:18:51 2013 +0600
@@ -28,7 +28,7 @@
 	};
 
 
-const char uItemsAmountPerShopType[5]={ 0, 6, 8, 12, 12};
+std::array<const char, 5> uItemsAmountPerShopType={ 0, 6, 8, 12, 12};
 
 const ITEM_VARIATION shopWeap_variation_ord[15] ={
 	{ 0, { 0, 0, 0, 0 }},
@@ -134,14 +134,14 @@
 const unsigned __int16 shopAlchSpc_treasure_lvl[13]   =  {0, 2, 2, 3, 3, 4, 4, 5, 5, 3, 2, 2, 2};
 
 
-char byte_4E8168[7][14]={  //byte_4E8178
+std::array< std::array<char, 14>, 7> byte_4E8168={{  //byte_4E8178
     { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, 
     { 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},
     { 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3},
     { 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4},
     { 2, 2, 2, 2, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5},
     { 2, 2, 2, 2, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6},
-    { 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}};
+    { 2, 2, 2, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}}};
 
 int  sub_4BE571(int a1, int *a2, int a3, int a4);
 
@@ -1477,10 +1477,10 @@
   equip_type = pItemsTable->pItems[uItemID].uEquipType;
   if ( (equip_type == EQUIP_REAGENT) || (equip_type == EQUIP_POTION) || (equip_type == EQUIP_GOLD) )
   {
-    sprintf(item__getname_buffer, "%s", pItemsTable->pItems[uItemID].pName);
-    return item__getname_buffer;
+    sprintf(item__getname_buffer.data(), "%s", pItemsTable->pItems[uItemID].pName);
+    return item__getname_buffer.data();
   }
-  sprintf(item__getname_buffer, "%s", pItemsTable->pItems[uItemID].pName);
+  sprintf(item__getname_buffer.data(), "%s", pItemsTable->pItems[uItemID].pName);
   if ( uItemID == ITEM_LICH_JAR )  //Lich Jar
   {
     if ( (uHolderPlayer >0 )&& (uHolderPlayer <= 4) )
@@ -1491,21 +1491,21 @@
           format_str = pGlobalTXT_LocalizationStrings[655]; //"%s' Jar"
         else
           format_str = pGlobalTXT_LocalizationStrings[654]; //"%s's Jar"
-        sprintf(item__getname_buffer, format_str, pPlayers[uHolderPlayer]->pName);
-		return item__getname_buffer;
+		sprintf(item__getname_buffer.data(), format_str, pPlayers[uHolderPlayer]->pName);
+		return item__getname_buffer.data();
       }
   }
   if ( !pItemsTable->IsMaterialNonCommon(this) )
   {
     if ( uEnchantmentType )
     {
-      strcat(item__getname_buffer, " ");
+      strcat(item__getname_buffer.data(), " ");
       nameModificator = pItemsTable->pEnchantments[uEnchantmentType-1].pOfName;
     }
     else
     {
       if ( !uSpecEnchantmentType )
-        return item__getname_buffer;
+        return item__getname_buffer.data();
       if ( uSpecEnchantmentType == 16 //Drain Hit Points from target.
         || uSpecEnchantmentType == 39 //Double damage vs Demons.
         || uSpecEnchantmentType == 40 //Double damage vs Dragons
@@ -1521,17 +1521,17 @@
         || uSpecEnchantmentType == 67 //Adds 5 points of Body damage and +2 Disarm skill.
         || uSpecEnchantmentType == 68 ) //Adds 6-8 points of Cold damage and +5 Armor Class.
       {  //enchantment and name positions inverted!
-        sprintf( item__getname_buffer, "%s %s",
+        sprintf( item__getname_buffer.data(), "%s %s",
 				  pItemsTable->pSpecialEnchantments[uSpecEnchantmentType-1].pNameAdd,
 				  pItemsTable->pItems[uItemID].pName);
-        return item__getname_buffer;
+        return item__getname_buffer.data();
       }
-      strcat(item__getname_buffer, " ");
+      strcat(item__getname_buffer.data(), " ");
 	  nameModificator = pItemsTable->pSpecialEnchantments[uSpecEnchantmentType-1].pNameAdd;
     }
-    strcat(item__getname_buffer, nameModificator);
+    strcat(item__getname_buffer.data(), nameModificator);
   }
-  return item__getname_buffer;
+  return item__getname_buffer.data();
 }
 
 
@@ -2053,7 +2053,7 @@
     signed int v23; // [sp+24h] [bp-4h]@2
 
     v18 = rand() % 100;  //main random
-    v0 = pMapStats->GetMapInfo(pCurrentMapName);
+    v0 = pMapStats->GetMapInfo(pCurrentMapName.data());
     //	v1 = pChests;
     v2 = &pMapStats->pInfos[v0];
     //v21 = pChests;