changeset 655:6a2d29c21d09

Margaret disappear fixed some mistakes fixed |= &
author zipi
date Tue, 12 Mar 2013 21:07:57 +0000
parents eb67721c5268
children 6abf5b610585
files Party.cpp mm7_4.cpp
diffstat 2 files changed, 9 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/Party.cpp	Tue Mar 12 19:48:16 2013 +0000
+++ b/Party.cpp	Tue Mar 12 21:07:57 2013 +0000
@@ -757,7 +757,7 @@
 
   memcpy(pNPCStats->pNewNPCData, pNPCStats->pNPCData, 0x94BCu);
   memcpy(pNPCStats->pGroups_copy, pNPCStats->pGroups, 0x66u);
-  pNPCStats->pNewNPCData[3].uFlags = 128;//|= 0x80u; Lady Margaret
+  pNPCStats->pNewNPCData[3].uFlags |= 128;//|= 0x80u; Lady Margaret
   _494035_timed_effects__water_walking_damage__etc();
   pEventTimer->Pause();
   return 0;
--- a/mm7_4.cpp	Tue Mar 12 19:48:16 2013 +0000
+++ b/mm7_4.cpp	Tue Mar 12 21:07:57 2013 +0000
@@ -3027,7 +3027,7 @@
 //----- (00491F87) --------------------------------------------------------
 void __cdecl DrawHiredNPCs()
 {
-  int v6; // eax@15
+  //int v6; // eax@15
   char v7; // al@17
   unsigned int v8; // eax@18
   int v9; // esi@18
@@ -3040,7 +3040,7 @@
   char pContainer[20]; // [sp+Ch] [bp-30h]@18
   unsigned int v17; // [sp+20h] [bp-1Ch]@19
   signed int uFrameID; // [sp+24h] [bp-18h]@19
-  int i; // [sp+28h] [bp-14h]@15
+  //int i; // [sp+28h] [bp-14h]@15
   unsigned int v20; // [sp+2Ch] [bp-10h]@20
   unsigned int v21; // [sp+30h] [bp-Ch]@19
   int v22; // [sp+34h] [bp-8h]@2
@@ -3062,7 +3062,7 @@
 
     for (uint i = 0; i < pNPCStats->uNumNewNPCs; ++i)
     {
-      if (pNPCStats->pNewNPCData[i].uFlags == 128)
+      if (pNPCStats->pNewNPCData[i].uFlags & 128)
       {
         if (!pParty->pHirelings[0].pName || strcmp(pNPCStats->pNewNPCData[i].pName, pParty->pHirelings[0].pName))
         {
@@ -3072,12 +3072,10 @@
       }
     }
 
-    v6 = (unsigned __int8)pParty->field_709;
-    for ( i = (unsigned __int8)pParty->field_709; i < v22; v6 = i++ + 1 )
-    {
-      if ( v23 >= 2 )
-        break;
-      v7 = pTmpBuf[v6];
+    //v6 = (unsigned __int8)pParty->field_709;
+	for ( int i = (unsigned __int8)pParty->field_709; i < v22 && v23 < 2; i++ )
+    {
+      v7 = pTmpBuf[i];
       if ( (unsigned __int8)v7 >= 2 )
       {
         sprintf(pContainer, "NPC%03d", pNPCStats->pNPCData[(unsigned __int8)v7 + 499].uPortraitID);
@@ -9590,7 +9588,7 @@
     Party::TakeGold(pPrice);
   }
   //LOBYTE(v2->uFlags) |= 0x80u;
-  pCurrentNPCInfo->uFlags = 128;
+  pCurrentNPCInfo->uFlags |= 128;
   pParty->field_709 = 0;
   sub_44A56A();
   if ( pParty->pHirelings[0].pName )