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;