Mercurial > mm7
comparison Player.cpp @ 81:377535d6e366
structure boundaries fixed in many places. fixed quests, notes, awards, calendar.
author | zipi |
---|---|
date | Sun, 03 Feb 2013 15:36:54 +0000 |
parents | e753d08b78ec |
children | 3c9762ec6c2e |
comparison
equal
deleted
inserted
replaced
80:48f69ae3bc8d | 81:377535d6e366 |
---|---|
16 #include "TurnEngine.h" | 16 #include "TurnEngine.h" |
17 #include "Events.h" | 17 #include "Events.h" |
18 #include "Events2D.h" | 18 #include "Events2D.h" |
19 #include "Outdoor.h" | 19 #include "Outdoor.h" |
20 #include "StorylineTextTable.h" | 20 #include "StorylineTextTable.h" |
21 | 21 #include "Autonotes.h" |
22 #include "Awards.h" | |
22 #include "mm7_data.h" | 23 #include "mm7_data.h" |
23 | 24 |
24 | 25 |
25 | 26 |
26 | 27 |
8411 goto LABEL_170; | 8412 goto LABEL_170; |
8412 } | 8413 } |
8413 if ( var == VAR_AutoNotes ) | 8414 if ( var == VAR_AutoNotes ) |
8414 { | 8415 { |
8415 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pParty->_autonote_bits[((signed __int16)a3 - 1) >> 3]) | 8416 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pParty->_autonote_bits[((signed __int16)a3 - 1) >> 3]) |
8416 && (&dword_723718_autonote_related)[8 * a3] ) | 8417 //&& (&dword_723718_autonote_related)[8 * a3] ) |
8418 && pAutonoteTxt[a3-1].pText ) | |
8417 { | 8419 { |
8418 v20 = pPlayers[v3 + 1]; | 8420 v20 = pPlayers[v3 + 1]; |
8419 v30 = 1; | 8421 v30 = 1; |
8420 v20->PlaySound(96, 0); | 8422 v20->PlaySound(96, 0); |
8421 v21 = dword_72371C[2 * a3]; | 8423 v21 = pAutonoteTxt[a3-1].eType;// dword_72371C[2 * a3]; |
8422 bFlashAutonotesBook = 1; | 8424 bFlashAutonotesBook = 1; |
8423 dword_506568 = v21; | 8425 dword_506568 = v21; |
8424 } | 8426 } |
8425 _449B7E_toggle_bit(pParty->_autonote_bits, a3, 1u); | 8427 _449B7E_toggle_bit(pParty->_autonote_bits, a3, 1u); |
8426 v31 = 1; | 8428 v31 = 1; |
8480 case VAR_Age: | 8482 case VAR_Age: |
8481 this->sAgeModifier = a3; | 8483 this->sAgeModifier = a3; |
8482 return; | 8484 return; |
8483 case VAR_Award: | 8485 case VAR_Award: |
8484 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pPlayers[v3 + 1]->field_152[((signed __int16)a3 - 1) >> 3]) | 8486 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pPlayers[v3 + 1]->field_152[((signed __int16)a3 - 1) >> 3]) |
8485 && dword_723E80_award_related[2 * a3] ) | 8487 //&& dword_723E80_award_related[2 * a3] ) |
8488 && pAwards[a3-1].pText ) | |
8486 { | 8489 { |
8487 v12 = pPlayers[v3 + 1]; | 8490 v12 = pPlayers[v3 + 1]; |
8488 v30 = 1; | 8491 v30 = 1; |
8489 v31 = 1; | 8492 v31 = 1; |
8490 v12->PlaySound(96, 0); | 8493 v12->PlaySound(96, 0); |
8494 case VAR_Experience: | 8497 case VAR_Experience: |
8495 this->uExperience = a3; | 8498 this->uExperience = a3; |
8496 goto LABEL_124; | 8499 goto LABEL_124; |
8497 case VAR_QBits_QuestsDone: | 8500 case VAR_QBits_QuestsDone: |
8498 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pParty->_award_bits[((signed __int16)a3 - 1) >> 3]) | 8501 if ( !((unsigned __int8)(0x80u >> ((signed __int16)a3 - 1) % 8) & pParty->_award_bits[((signed __int16)a3 - 1) >> 3]) |
8499 && (&dword_722F10)[4 * a3] ) | 8502 // && (&dword_722F10)[4 * a3] ) |
8503 && pQuestTable[a3-1] ) | |
8500 { | 8504 { |
8501 v14 = pPlayers[v3 + 1]; | 8505 v14 = pPlayers[v3 + 1]; |
8502 bFlashQuestBook = 1; | 8506 bFlashQuestBook = 1; |
8503 v30 = 1; | 8507 v30 = 1; |
8504 v31 = 1; | 8508 v31 = 1; |
8907 return; | 8911 return; |
8908 case VAR_Award: | 8912 case VAR_Award: |
8909 v13 = pPlayers[uPlayerIdx + 1]; | 8913 v13 = pPlayers[uPlayerIdx + 1]; |
8910 v33 = 0x80u >> ((signed __int16)val - 1) % 8; | 8914 v33 = 0x80u >> ((signed __int16)val - 1) % 8; |
8911 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & v13->field_152[((signed __int16)val - 1) >> 3]) | 8915 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & v13->field_152[((signed __int16)val - 1) >> 3]) |
8912 && dword_723E80_award_related[2 * val] ) | 8916 //&& dword_723E80_award_related[2 * val] ) |
8917 && pAwards[val-1].pText ) | |
8913 { | 8918 { |
8914 v14 = pPlayers[uPlayerIdx + 1]; | 8919 v14 = pPlayers[uPlayerIdx + 1]; |
8915 v34 = 1; | 8920 v34 = 1; |
8916 v3 = 1; | 8921 v3 = 1; |
8917 v14->PlaySound(96, 0); | 8922 v14->PlaySound(96, 0); |
8925 if ( (signed __int64)Dst->uExperience > 4000000000i64 ) | 8930 if ( (signed __int64)Dst->uExperience > 4000000000i64 ) |
8926 Dst->uExperience = 4000000000i64; | 8931 Dst->uExperience = 4000000000i64; |
8927 goto _play_anim_and_exit; | 8932 goto _play_anim_and_exit; |
8928 case VAR_QBits_QuestsDone: | 8933 case VAR_QBits_QuestsDone: |
8929 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & pParty->_award_bits[((signed __int16)val - 1) >> 3]) | 8934 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & pParty->_award_bits[((signed __int16)val - 1) >> 3]) |
8930 && (&dword_722F10)[4 * val] ) | 8935 //&& (&dword_722F10)[4 * val] ) |
8936 && pQuestTable[val-1] ) | |
8931 { | 8937 { |
8932 v17 = pPlayers[uPlayerIdx + 1]; | 8938 v17 = pPlayers[uPlayerIdx + 1]; |
8933 bFlashQuestBook = 1; | 8939 bFlashQuestBook = 1; |
8934 v34 = 1; | 8940 v34 = 1; |
8935 v3 = 1; | 8941 v3 = 1; |
9189 if ( v3 != 1 ) | 9195 if ( v3 != 1 ) |
9190 return; | 9196 return; |
9191 goto _play_sound; | 9197 goto _play_sound; |
9192 } | 9198 } |
9193 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & pParty->_autonote_bits[((signed __int16)val - 1) >> 3]) | 9199 if ( !((unsigned __int8)(0x80u >> ((signed __int16)val - 1) % 8) & pParty->_autonote_bits[((signed __int16)val - 1) >> 3]) |
9194 && (&dword_723718_autonote_related)[8 * val] ) | 9200 //&& (&dword_723718_autonote_related)[8 * val] ) |
9201 && pAutonoteTxt[val-1].pText ) | |
9195 { | 9202 { |
9196 v23 = pPlayers[uPlayerIdx + 1]; | 9203 v23 = pPlayers[uPlayerIdx + 1]; |
9197 v34 = 1; | 9204 v34 = 1; |
9198 v23->PlaySound(96, 0); | 9205 v23->PlaySound(96, 0); |
9199 v24 = dword_72371C[2 * val]; | 9206 v24 = pAutonoteTxt[val-1].eType;//dword_72371C[2 * val]; |
9200 bFlashAutonotesBook = 1; | 9207 bFlashAutonotesBook = 1; |
9201 dword_506568 = v24; | 9208 dword_506568 = v24; |
9202 } | 9209 } |
9203 _449B7E_toggle_bit(pParty->_autonote_bits, val, 1u); | 9210 _449B7E_toggle_bit(pParty->_autonote_bits, val, 1u); |
9204 v3 = 1; | 9211 v3 = 1; |