Mercurial > mm7
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: |