diff mm7_1.cpp @ 105:56e11be29db1

Слияние
author Ritor1
date Tue, 05 Feb 2013 19:08:52 +0600
parents 1faa29fd4c2d
children 98cd93e14777
line wrap: on
line diff
--- a/mm7_1.cpp	Tue Feb 05 19:08:22 2013 +0600
+++ b/mm7_1.cpp	Tue Feb 05 19:08:52 2013 +0600
@@ -691,9 +691,9 @@
   {
     while ( 1 )
     {
-      v5 = pStru179->field_0[v21];
-      v20 = 8 * pStru179->field_0[v21];
-      v6 = (char *)dword_723E80_award_related[v20 / 4];
+      v5 = pStru179.field_0[v21];
+      v20 = 8 * pStru179.field_0[v21];
+      v6 = (char *)pAwards[v20/8-1].pText;//(char *)dword_723E80_award_related[v20 / 4];
       if ( v5 != 1 )
         break;
       v17 = pParty->uFine;
@@ -701,7 +701,7 @@
       sprintf(pTmpBuf, v6, v17);
       v6 = pTmpBuf;
 LABEL_43:
-      v14 = dword_723E84[v20 / 4];
+	  v14 = pAwards[v20/8-1].uSort;//dword_723E84[v20 / 4];
       ++dword_506520;
       v15 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(
               pAwardsTextColors[3 * v14 % 6],
@@ -4253,7 +4253,7 @@
   int v9; // [sp+9Ch] [bp-10h]@10
   unsigned int v10; // [sp+A0h] [bp-Ch]@1
   unsigned int v11; // [sp+A4h] [bp-8h]@8
-  unsigned int *v12; // [sp+A8h] [bp-4h]@9
+  ItemGen *v12; // [sp+A8h] [bp-4h]@9
 
   v1 = 0;
   v2 = uChestID;
@@ -4282,10 +4282,10 @@
   v11 = 0;
   if ( uChestArea > 0 )
   {
-    v12 = &pChests[v3].mm7__vector_pItems[0].uAttributes;
+	v12 = pChests[v3].mm7__vector_pItems;//&pChests[v3].mm7__vector_pItems[0].uAttributes;
     do
     {
-      v9 = *(v12 - 5);
+	  v9 = v12->uItemID;
       if ( v9 )
       {
         v6 = 0;
@@ -4293,15 +4293,17 @@
         {
           ++v6;
           if ( v6 >= uChestArea )
-            goto LABEL_17;
+            break;
         }
-        Chest::PlaceItemAt((unsigned __int8)Dst[v6], v11, v10);
-        if ( pChests[v3].uFlags & 4 )
-          *v12 |= 1u;
-      }
-LABEL_17:
+		if(v6<uChestArea)
+		{
+			Chest::PlaceItemAt((unsigned __int8)Dst[v6], v11, v10);
+			if ( pChests[v3].uFlags & 4 )
+				v12->uAttributes |= 1u;
+		}
+      }
       ++v11;
-      v12 += 9;
+      ++v12;
     }
     while ( (signed int)v11 < uChestArea );
   }