comparison mm7_3.cpp @ 130:1c471f3629fb

Party expressions update
author Nomad
date Mon, 11 Feb 2013 19:40:49 +0200
parents 48bea61a12a5
children a8ec7e1e18b6 c49af6426e37
comparison
equal deleted inserted replaced
122:48bea61a12a5 130:1c471f3629fb
2732 { 2732 {
2733 v41 = &pPlayers[1]; 2733 v41 = &pPlayers[1];
2734 do 2734 do
2735 { 2735 {
2736 if ( !(*v41)->HasEnchantedItemEquipped(72) && !(*v41)->WearsItem(529, 8) ) 2736 if ( !(*v41)->HasEnchantedItemEquipped(72) && !(*v41)->WearsItem(529, 8) )
2737 (*v41)->PlayEmotion(46, 0); 2737 (*v41)->PlayEmotion(CHARACTER_EXPRESSION_46, 0);
2738 ++v41; 2738 ++v41;
2739 } 2739 }
2740 while ( (signed int)v41 <= (signed int)&pPlayers[4] ); 2740 while ( (signed int)v41 <= (signed int)&pPlayers[4] );
2741 } 2741 }
2742 goto LABEL_93; 2742 goto LABEL_93;
16305 goto LABEL_63; 16305 goto LABEL_63;
16306 } 16306 }
16307 v20 = v19 - 1; 16307 v20 = v19 - 1;
16308 if ( !v20 ) 16308 if ( !v20 )
16309 { 16309 {
16310 v23 = v0->evtb; 16310 v23 = v0->_anim_current_time;
16311 goto LABEL_63; 16311 goto LABEL_63;
16312 } 16312 }
16313 v21 = v20 - 1; 16313 v21 = v20 - 1;
16314 if ( !v21 ) 16314 if ( !v21 )
16315 { 16315 {
16316 v23 = v0->evtc; 16316 v23 = v0->_anim_end_time;
16317 goto LABEL_63; 16317 goto LABEL_63;
16318 } 16318 }
16319 v22 = v21 - 1; 16319 v22 = v21 - 1;
16320 if ( !v22 ) 16320 if ( !v22 )
16321 { 16321 {
17229 v33->evtd = v30; 17229 v33->evtd = v30;
17230 } 17230 }
17231 } 17231 }
17232 else 17232 else
17233 { 17233 {
17234 v33->evtc = v30; 17234 v33->_anim_end_time = v30;
17235 } 17235 }
17236 } 17236 }
17237 else 17237 else
17238 { 17238 {
17239 v33->evtb = v30; 17239 v33->_anim_current_time = v30;
17240 } 17240 }
17241 } 17241 }
17242 else 17242 else
17243 { 17243 {
17244 v33->bDrawSomeAnim = v30; 17244 v33->bDrawSomeAnim = v30;
17386 v113 = _evt->v6; 17386 v113 = _evt->v6;
17387 v53 = rand() % 4; 17387 v53 = rand() % 4;
17388 LABEL_108: 17388 LABEL_108:
17389 v52 = &pParty->pPlayers[v53]; 17389 v52 = &pParty->pPlayers[v53];
17390 LABEL_109: 17390 LABEL_109:
17391 v52->PlayEmotion(v113, v117); 17391 v52->PlayEmotion((CHARACTER_EXPRESSION_ID)v113, v117);
17392 goto LABEL_291; 17392 goto LABEL_291;
17393 } 17393 }
17394 v51 = pParty->pPlayers; 17394 v51 = pParty->pPlayers;
17395 do 17395 do
17396 { 17396 {
17397 v51->PlayEmotion(_evt->v6, 0); 17397 v51->PlayEmotion((CHARACTER_EXPRESSION_ID)_evt->v6, 0);
17398 ++v51; 17398 ++v51;
17399 } 17399 }
17400 while ( (signed int)v51 < (signed int)pParty->pHirelings ); 17400 while ( (signed int)v51 < (signed int)pParty->pHirelings );
17401 LABEL_291: 17401 LABEL_291:
17402 ++v122; 17402 ++v122;
19441 19441
19442 19442
19443 //----- (0044A56A) -------------------------------------------------------- 19443 //----- (0044A56A) --------------------------------------------------------
19444 void __cdecl sub_44A56A() 19444 void __cdecl sub_44A56A()
19445 { 19445 {
19446 signed int v0; // edi@1
19447 NPCData *v1; // esi@2
19448
19449 pParty->field_70A = 0; 19446 pParty->field_70A = 0;
19450 v0 = 0; 19447
19451 if ( (signed int)pNPCStats->uNumNewNPCs > 0 ) 19448 for (int i = 0; i < pNPCStats->uNumNewNPCs; ++i)
19452 { 19449 {
19453 v1 = pNPCStats->pNewNPCData; 19450 auto npc = pNPCStats->pNewNPCData + i;
19454 do 19451 if (npc->uFlags & 0x80 &&
19455 { 19452 (!pParty->pHirelings[0].pName || strcmp(npc->pName, pParty->pHirelings[0].pName)))
19456 if ( v1->uFlags & 0x80 && (!pParty->pHirelings[0].pName || strcmp(v1->pName, pParty->pHirelings[0].pName)) ) 19453 {
19457 { 19454 if (!pParty->pHirelings[1].pName || strcmp(npc->pName, pParty->pHirelings[1].pName))
19458 if ( !pParty->pHirelings[1].pName || strcmp(v1->pName, pParty->pHirelings[1].pName) ) 19455 ++pParty->field_70A;
19459 ++pParty->field_70A; 19456 }
19460 }
19461 ++v0;
19462 ++v1;
19463 }
19464 while ( v0 < (signed int)pNPCStats->uNumNewNPCs );
19465 } 19457 }
19466 } 19458 }
19467 19459
19468 19460
19469 //----- (0044C175) -------------------------------------------------------- 19461 //----- (0044C175) --------------------------------------------------------