Mercurial > mm7
diff Game.cpp @ 981:a6ef7125f6e4
Autonotes & GameState
author | Nomad |
---|---|
date | Sat, 11 May 2013 01:28:06 +0200 |
parents | 9334a8c59c8d |
children | 08fd1436ef35 |
line wrap: on
line diff
--- a/Game.cpp Thu May 09 21:19:59 2013 +0600 +++ b/Game.cpp Sat May 11 01:28:06 2013 +0200 @@ -256,8 +256,8 @@ signed int pNewNPCsCount; // ecx@58 char *pFlags; // eax@59 Player *pPlayer; // esi@65 - OtherOverlay *pOtherOverlay; // esi@67 - signed int v8; // edi@67 + //OtherOverlay *pOtherOverlay; // esi@67 + //signed int v8; // edi@67 int pPlayerNum; // edi@69 int *pHealth; // esi@71 signed int v11; // esi@78 @@ -373,7 +373,7 @@ pMiscTimer->Resume(); if ( pEventTimer->bTackGameTime && !pParty->bTurnBasedModeOn ) pEventTimer->bTackGameTime = 0; - if ( !pEventTimer->bPaused && !uGameState ) + if ( !pEventTimer->bPaused && uGameState == GAME_STATE_0) { if ( !pEventTimer->bTackGameTime ) _494035_timed_effects__water_walking_damage__etc(); @@ -418,19 +418,21 @@ bLoadinga = 1; continue; } - if ( uGameState != GAME_STATE_8 ) + if ( uGameState != GAME_STATE_PARTY_DIED ) { if ( uGameState != GAME_STATE_FINAL_WINDOW ) { //LABEL_85: pGame->Draw(); - continue; } - pRenderer->BeginScene(); - GUI_UpdateWindows(); - pRenderer->EndScene(); - //goto LABEL_89; - pRenderer->Present(); + else + { + pRenderer->BeginScene(); + GUI_UpdateWindows(); + pRenderer->EndScene(); + //goto LABEL_89; + pRenderer->Present(); + } continue; } pAudioPlayer->StopChannels(-1, -1);//далее в случае смерти группы @@ -465,15 +467,9 @@ pParty->uTimePlayed += 0x276000ui64; LOWORD(pParty->uFlags) &= ~0x204; pParty->SetGold(0); - pOtherOverlay = pOtherOverlayList->pOverlays; - v8 = 50; - do - { - pOtherOverlay->Reset(); - ++pOtherOverlay; - --v8; - } - while ( v8 ); + + pOtherOverlayList->Reset(); + memset(pParty->pPartyBuffs, 0, 0x140u); pPlayerNum = 1; if ( pParty->bTurnBasedModeOn == 1 ) @@ -493,7 +489,7 @@ uActiveCharacter = 1; } // while ( (signed int)pHealth < (signed int)&pParty->field_871C[567] ); - if ( (unsigned __int16)_449B57_test_bit(pParty->_quest_bits, 136) ) + if (_449B57_test_bit(pParty->_quest_bits, PARTY_QUEST_FINISHED_EMERALD_ISLE)) { pParty->vPosition.x = -17331; // respawn in harmondale pParty->vPosition.y = 12547;