comparison Player.cpp @ 248:37dcbe8f3cca

Dialogue stuff
author Nomad
date Mon, 18 Feb 2013 07:11:43 +0200
parents a6a8fa73b4ec
children 0a37a56e9f02
comparison
equal deleted inserted replaced
247:fb8a876f41e1 248:37dcbe8f3cca
584 int v11; // esi@10 584 int v11; // esi@10
585 signed int v12; // eax@11 585 signed int v12; // eax@11
586 signed int v13; // esi@12 586 signed int v13; // esi@12
587 int v14; // eax@12 587 int v14; // eax@12
588 //int v15; // eax@17 588 //int v15; // eax@17
589 int pExpression; // ebx@17 589 CHARACTER_EXPRESSION_ID expression; // ebx@17
590 signed int v17; // ecx@19 590 signed int v17; // ecx@19
591 char *pSoundID; // edi@20 591 char *pSoundID; // edi@20
592 int v20[5]; // [sp+Ch] [bp-1Ch]@7 592 int v20[5]; // [sp+Ch] [bp-1Ch]@7
593 //Player *pPlayer2; // [sp+20h] [bp-8h]@1 593 //Player *pPlayer2; // [sp+20h] [bp-8h]@1
594 int pPlayerNum; // [sp+24h] [bp-4h]@1 594 int pPlayerNum; // [sp+24h] [bp-4h]@1
645 } 645 }
646 while ( -3 - (signed int)v6 + v14 < 5 ); 646 while ( -3 - (signed int)v6 + v14 < 5 );
647 if ( v13 ) 647 if ( v13 )
648 { 648 {
649 pPlayerNum = 0; 649 pPlayerNum = 0;
650 pExpression = v20[rand() % v13]; 650 expression = (CHARACTER_EXPRESSION_ID)v20[rand() % v13];
651 if ( pExpression == 21 && pSoundId ) 651 if (expression == CHARACTER_EXPRESSION_21 && pSoundId )
652 { 652 {
653 v17 = 0; 653 v17 = 0;
654 if ( (signed int)pSoundList->uNumSounds <= 0 ) 654 if ( (signed int)pSoundList->uNumSounds <= 0 )
655 { 655 {
656 LABEL_23: 656 LABEL_23:
668 } 668 }
669 } 669 }
670 if ( pSoundList->pSounds[v17].pSoundData[0] ) 670 if ( pSoundList->pSounds[v17].pSoundData[0] )
671 pPlayerNum = (sLastTrackLengthMS << 7) / 1000; 671 pPlayerNum = (sLastTrackLengthMS << 7) / 1000;
672 } 672 }
673 /*LOWORD(v14) = */PlayEmotion((CHARACTER_EXPRESSION_ID)pExpression, pPlayerNum); 673 /*LOWORD(v14) = */PlayEmotion(expression, pPlayerNum);
674 } 674 }
675 //return v14; 675 //return v14;
676 } 676 }
677 // 4948B1: using guessed type int var_1C[5]; 677 // 4948B1: using guessed type int var_1C[5];
678 678
5756 v2 += 3; 5756 v2 += 3;
5757 v5 = 55; 5757 v5 = 55;
5758 } 5758 }
5759 if ( CheckHiredNPCSpeciality(v5) ) 5759 if ( CheckHiredNPCSpeciality(v5) )
5760 v2 += 4; 5760 v2 += 4;
5761 if ( v9->classType == PLAYER_CLASS_31 && sub_476387() ) 5761 if ( v9->classType == PLAYER_CLASS_31 && PartyHasDragon() )
5762 v2 += 3; 5762 v2 += 3;
5763 LABEL_86: 5763 LABEL_86:
5764 if ( uSkillType <= PLAYER_SKILL_DARK ) 5764 if ( uSkillType <= PLAYER_SKILL_DARK )
5765 { 5765 {
5766 if ( uSkillType == PLAYER_SKILL_DARK ) 5766 if ( uSkillType == PLAYER_SKILL_DARK )
7890 goto _return_false; 7890 goto _return_false;
7891 case VAR_HiredNPCHasSpeciality: 7891 case VAR_HiredNPCHasSpeciality:
7892 LOBYTE(v6) = CheckHiredNPCSpeciality(a1); 7892 LOBYTE(v6) = CheckHiredNPCSpeciality(a1);
7893 return v6; 7893 return v6;
7894 case VAR_NPCs2: 7894 case VAR_NPCs2:
7895 return pNPCStats->pNewNPCData[a1].uFlags & 0x80; 7895 return pNPCStats->pNewNPCData[a1].Hired();
7896 case VAR_MonthEquals|VAR_CurrentSP: 7896 case VAR_MonthEquals|VAR_CurrentSP:
7897 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8; 7897 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8;
7898 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3]; 7898 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3];
7899 goto LABEL_108; 7899 goto LABEL_108;
7900 case VAR_ItemEquipped: 7900 case VAR_ItemEquipped: