# HG changeset patch # User zipi # Date 1363122477 0 # Node ID 6a2d29c21d093b0843816ae822c5889b788fe81d # Parent eb67721c52681f9e753d0be4294b7edd0d1e9334 Margaret disappear fixed some mistakes fixed |= & diff -r eb67721c5268 -r 6a2d29c21d09 Party.cpp --- 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; diff -r eb67721c5268 -r 6a2d29c21d09 mm7_4.cpp --- 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 )