diff mm7_5.cpp @ 604:8724a4b3ca45

Слияние
author Ritor1
date Thu, 07 Mar 2013 09:15:15 +0600
parents 628694cd5744
children 5cfb5dadf330
line wrap: on
line diff
--- a/mm7_5.cpp	Thu Mar 07 09:14:57 2013 +0600
+++ b/mm7_5.cpp	Thu Mar 07 09:15:15 2013 +0600
@@ -299,7 +299,7 @@
     //Actor::Actor(&actor);
     memset(&actor, 0, 0x344u);
     dword_5B65D0_dialogue_actor_npc_id = bDialogueUI_InitializeActor_NPC_ID;
-    actor.uNPC_ID = bDialogueUI_InitializeActor_NPC_ID;
+    actor.sNPC_ID = bDialogueUI_InitializeActor_NPC_ID;
     actor.InitializeDialogue(0);
     bDialogueUI_InitializeActor_NPC_ID = 0;
   }
@@ -329,7 +329,7 @@
           viewparams->field_48 = v0;
           if ( pMessageQueue_50CBD0->uNumMessages )
             pMessageQueue_50CBD0->uNumMessages = pMessageQueue_50CBD0->pMessages[0].field_8 != 0;
-          dword_5B65D0_dialogue_actor_npc_id = pActors[uMessageParam].uNPC_ID;
+          dword_5B65D0_dialogue_actor_npc_id = pActors[uMessageParam].sNPC_ID;
           pActor = &pActors[uMessageParam];
           //goto _actor_init_dlg;
           pActor->InitializeDialogue(v0);
@@ -383,7 +383,7 @@
             {
               //Actor::Actor(&actor);
               memset(&actor, 0, 0x344u);
-              actor.uNPC_ID += -1 - (unsigned __int8)pParty->field_709 - hireling_idx;
+              actor.sNPC_ID += -1 - (unsigned __int8)pParty->field_709 - hireling_idx;
               pActor = &actor;
               pActor->InitializeDialogue(v0);
             }
@@ -15811,8 +15811,8 @@
     }
     if ( (signed int)((char *)v17 + (unsigned __int8)pParty->field_709) < v1 )
     {
-      uDialogue_SpeakingActorNPC_ID = -1 - (unsigned __int8)pParty->field_709 - (int)v17;
-      v5 = GetNewNPCData(uDialogue_SpeakingActorNPC_ID, (int)&a2);
+      sDialogue_SpeakingActorNPC_ID = -1 - (unsigned __int8)pParty->field_709 - (int)v17;
+      v5 = GetNewNPCData(sDialogue_SpeakingActorNPC_ID, (int)&a2);
       v6 = v5;
       if ( v5 )
       {
@@ -15978,8 +15978,12 @@
 			v9 = pX + pSRZBufferLineOffsets[pY];
 			if ( pRenderer->pActiveZBuffer[v9] & 0xFFFF )
 			{
-				v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C + 18* *((short *)&pChests[0].igChestItems[139].uExpireTime
-								+ (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)pChestWindow->ptr_1C + 3));
+
+            //  __debugbreak(); // invalid indexing will result in invalid object ptr
+			//	v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C + 18* *((short *)&pChests[0].igChestItems[139].uExpireTime
+			//					+ (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)pChestWindow->ptr_1C + 3));
+                v10=pChests[pChestWindow->par1C].pInventoryIndices[(pRenderer->pActiveZBuffer[v9] & 0xFFFF)-1];
+                v8 =&pChests[pChestWindow->par1C].igChestItems[v10-1];
 				GameUI_DrawItemInfo(v8);
 			}
 		}
@@ -16025,10 +16029,6 @@
 						pAudioPlayer->StopChannels(-1, -1);
 						v3 = (void *)1;
 					}
-					else
-					{
-						sub_416B01(v3);
-					}
 				}
 				else
 				{