Mercurial > mm7
comparison Player.cpp @ 289:92d443ed0cba
Слияние
author | Ritor1 |
---|---|
date | Mon, 18 Feb 2013 19:16:38 +0600 |
parents | 9a6052fecad4 0a37a56e9f02 |
children | 4776715a964b |
comparison
equal
deleted
inserted
replaced
288:9a6052fecad4 | 289:92d443ed0cba |
---|---|
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 |
5751 v2 += 3; | 5751 v2 += 3; |
5752 v5 = 55; | 5752 v5 = 55; |
5753 } | 5753 } |
5754 if ( CheckHiredNPCSpeciality(v5) ) | 5754 if ( CheckHiredNPCSpeciality(v5) ) |
5755 v2 += 4; | 5755 v2 += 4; |
5756 if ( v9->classType == PLAYER_CLASS_31 && sub_476387() ) | 5756 if ( v9->classType == PLAYER_CLASS_WARLOCK && PartyHasDragon() ) |
5757 v2 += 3; | 5757 v2 += 3; |
5758 LABEL_86: | 5758 LABEL_86: |
5759 if ( uSkillType <= PLAYER_SKILL_DARK ) | 5759 if ( uSkillType <= PLAYER_SKILL_DARK ) |
5760 { | 5760 { |
5761 if ( uSkillType == PLAYER_SKILL_DARK ) | 5761 if ( uSkillType == PLAYER_SKILL_DARK ) |
6970 int v75; // [sp+24h] [bp-8h]@73 | 6970 int v75; // [sp+24h] [bp-8h]@73 |
6971 Player *thisb; // [sp+28h] [bp-4h]@1 | 6971 Player *thisb; // [sp+28h] [bp-4h]@1 |
6972 unsigned int thisa; // [sp+28h] [bp-4h]@22 | 6972 unsigned int thisa; // [sp+28h] [bp-4h]@22 |
6973 | 6973 |
6974 thisb = this; | 6974 thisb = this; |
6975 v3 = &pParty->pPlayers[a2-1];//(Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552]; | 6975 v3 = &pParty->pPlayers[a2-1]; |
6976 v73 = 1; | 6976 v73 = 1; |
6977 if ( pParty->bTurnBasedModeOn == 1 && (pTurnEngine->field_4 == 1 || pTurnEngine->field_4 == 3) ) | 6977 if ( pParty->bTurnBasedModeOn == 1 && (pTurnEngine->field_4 == 1 || pTurnEngine->field_4 == 3) ) |
6978 return; | 6978 return; |
6979 v4 = 0; | 6979 v4 = 0; |
6980 if ( pItemsTable->pItems[pParty->pPickedItem.uItemID].uEquipType == 13 ) | 6980 if ( pItemsTable->pItems[pParty->pPickedItem.uItemID].uEquipType == 13 ) |
6998 v58 = pGlobalTXT_LocalizationStrings[36]; | 6998 v58 = pGlobalTXT_LocalizationStrings[36]; |
6999 goto LABEL_90; | 6999 goto LABEL_90; |
7000 } | 7000 } |
7001 v69 = 2; | 7001 v69 = 2; |
7002 LABEL_111: | 7002 LABEL_111: |
7003 pParty->pPlayers[a2-1].Heal(v69);//((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->Heal(v69); | 7003 pParty->pPlayers[a2-1].Heal(v69); |
7004 } | 7004 } |
7005 LABEL_112: | 7005 LABEL_112: |
7006 v3->PlaySound(SPEECH_36, 0); | 7006 v3->PlaySound(SPEECH_36, 0); |
7007 goto LABEL_173; | 7007 goto LABEL_173; |
7008 } | 7008 } |
7171 v31 = HIDWORD(v3->pConditions[14]); | 7171 v31 = HIDWORD(v3->pConditions[14]); |
7172 v32 = LODWORD(v3->pConditions[15]); | 7172 v32 = LODWORD(v3->pConditions[15]); |
7173 v33 = HIDWORD(v3->pConditions[15]); | 7173 v33 = HIDWORD(v3->pConditions[15]); |
7174 v34 = LODWORD(v3->pConditions[16]); | 7174 v34 = LODWORD(v3->pConditions[16]); |
7175 v35 = HIDWORD(v3->pConditions[16]); | 7175 v35 = HIDWORD(v3->pConditions[16]); |
7176 memset(&pParty->pPlayers[a2-1],0,0xA0u);//memset(&stru_AA1058[3].pSounds[6972 * a2 + 40552], 0, 0xA0u); | 7176 memset(&pParty->pPlayers[a2-1],0,0xA0u); |
7177 HIDWORD(v3->pConditions[14]) = v31; | 7177 HIDWORD(v3->pConditions[14]) = v31; |
7178 LODWORD(v3->pConditions[15]) = v32; | 7178 LODWORD(v3->pConditions[15]) = v32; |
7179 HIDWORD(v3->pConditions[15]) = v33; | 7179 HIDWORD(v3->pConditions[15]) = v33; |
7180 LODWORD(v3->pConditions[16]) = v34; | 7180 LODWORD(v3->pConditions[16]) = v34; |
7181 LODWORD(v3->pConditions[14]) = v30; | 7181 LODWORD(v3->pConditions[14]) = v30; |
7542 } | 7542 } |
7543 LABEL_187: | 7543 LABEL_187: |
7544 pMouse->RemoveHoldingItem(); | 7544 pMouse->RemoveHoldingItem(); |
7545 return; | 7545 return; |
7546 } | 7546 } |
7547 if ( pParty->pPlayers[a2-1].CanAct() )//if ( ((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) | 7547 if ( pParty->pPlayers[a2-1].CanAct() ) |
7548 { | 7548 { |
7549 sub_467F48(pParty->pPickedItem.uItemID); | 7549 sub_467F48(pParty->pPickedItem.uItemID); |
7550 v65 = 0; | 7550 v65 = 0; |
7551 v56 = SPEECH_37; | 7551 v56 = SPEECH_37; |
7552 LABEL_67: | 7552 LABEL_67: |
7586 v14 = pAudioPlayer; | 7586 v14 = pAudioPlayer; |
7587 LABEL_63: | 7587 LABEL_63: |
7588 pAudioPlayer->PlaySound(v37, v39, v41, v43, v45, v48, v52, v61); | 7588 pAudioPlayer->PlaySound(v37, v39, v41, v43, v45, v48, v52, v61); |
7589 return; | 7589 return; |
7590 } | 7590 } |
7591 if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) | 7591 if ( !pParty->pPlayers[a2-1].CanAct() ) |
7592 { | 7592 { |
7593 v66 = aCharacterConditionNames[v3->GetMajorConditionIdx()]; | 7593 v66 = aCharacterConditionNames[v3->GetMajorConditionIdx()]; |
7594 v57 = pGlobalTXT_LocalizationStrings[382]; | 7594 v57 = pGlobalTXT_LocalizationStrings[382]; |
7595 goto LABEL_72; | 7595 goto LABEL_72; |
7596 } | 7596 } |
7698 v21 = v67; | 7698 v21 = v67; |
7699 goto LABEL_83; | 7699 goto LABEL_83; |
7700 } | 7700 } |
7701 if ( pCurrentScreen == SCREEN_CASTING ) | 7701 if ( pCurrentScreen == SCREEN_CASTING ) |
7702 return; | 7702 return; |
7703 if ( !pParty->pPlayers[a2-1].CanAct() )//if ( !((Player *)&stru_AA1058[3].pSounds[6972 * a2 + 40552])->CanAct() ) | 7703 if ( !pParty->pPlayers[a2-1].CanAct() ) |
7704 goto LABEL_89; | 7704 goto LABEL_89; |
7705 if ( bUnderwater == 1 ) | 7705 if ( bUnderwater == 1 ) |
7706 { | 7706 { |
7707 v23 = pGlobalTXT_LocalizationStrings[652]; | 7707 v23 = pGlobalTXT_LocalizationStrings[652]; |
7708 goto LABEL_91; | 7708 goto LABEL_91; |
7885 goto _return_false; | 7885 goto _return_false; |
7886 case VAR_HiredNPCHasSpeciality: | 7886 case VAR_HiredNPCHasSpeciality: |
7887 LOBYTE(v6) = CheckHiredNPCSpeciality(a1); | 7887 LOBYTE(v6) = CheckHiredNPCSpeciality(a1); |
7888 return v6; | 7888 return v6; |
7889 case VAR_NPCs2: | 7889 case VAR_NPCs2: |
7890 return pNPCStats->pNewNPCData[a1].uFlags & 0x80; | 7890 return pNPCStats->pNewNPCData[a1].Hired(); |
7891 case VAR_MonthEquals|VAR_CurrentSP: | 7891 case VAR_MonthEquals|VAR_CurrentSP: |
7892 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8; | 7892 v13 = 0x80u >> ((signed __int16)a1 - 1) % 8; |
7893 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3]; | 7893 v14 = this->field_1A50[((signed __int16)a1 - 1) >> 3]; |
7894 goto LABEL_108; | 7894 goto LABEL_108; |
7895 case VAR_ItemEquipped: | 7895 case VAR_ItemEquipped: |