Files
source/Strategic/Strategic Turns.cpp
T
Wanne 5df38d5042 Improve loading speed of stash (by Moa)
- improved processing of sector stash (opening/closing)
- improved loading speed of save games
- improved processing of items droped by militia (most noteable after autoresolve)
- and some other code related changes
see: http://www.ja-galaxy-forum.com/board/ubbthreads.php/topics/325332/FIX_improve_loading_speed_of_s.html#Post325332

Notes:
removed some functions, still in code so but renamed to *_OLD() because they are from Sirtech and should be kept as I have read in "§18) If possible, we don't just delete the old code, but comment it out (or #ifdef it out) for reference. We delete it only if it's really necessary."

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6434 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2013-09-23 06:59:29 +00:00

111 lines
2.6 KiB
C++

#ifdef PRECOMPILEDHEADERS
#include "Strategic All.h"
#else
#include "sgp.h"
#include "Game Clock.h"
#include "Font Control.h"
#include "Timer Control.h"
#include "overhead.h"
#include "Game Clock.h"
#include "message.h"
#include "worlddef.h"
#include "soldier create.h"
#include "soldier add.h"
#include "strategic turns.h"
#include "isometric utils.h"
#include "animation data.h"
#include "animation control.h"
#include "Tactical Turns.h"
#include "strategic turns.h"
#include "rt time defines.h"
#include "assignments.h"
#endif
UINT32 guiLastStrategicTime = 0;
UINT32 guiLastTacticalRealTime = 0;
void StrategicTurnsNewGame( )
{
// Sync game start time
SyncStrategicTurnTimes( );
}
void SyncStrategicTurnTimes( )
{
guiLastStrategicTime = GetWorldTotalSeconds( );
guiLastTacticalRealTime = GetJA2Clock( );
}
void HandleStrategicTurn( )
{
UINT32 uiTime;
UINT32 uiCheckTime;
// OK, DO THIS CHECK EVERY ONCE AND A WHILE...
if ( COUNTERDONE( STRATEGIC_OVERHEAD ) )
{
RESETCOUNTER( STRATEGIC_OVERHEAD );
// if the game is paused, or we're in mapscreen and time is not being compressed
if( ( GamePaused() == TRUE ) ||
( ( guiCurrentScreen == MAP_SCREEN ) && !IsTimeBeingCompressed() ) )
{
// don't do any of this
return;
}
//Kris -- What to do?
if( giTimeCompressMode == NOT_USING_TIME_COMPRESSION )
{
SetGameTimeCompressionLevel( TIME_COMPRESS_X1 );
}
uiTime = GetJA2Clock( );
// Do not handle turns update if in turnbased combat
if ( ( gTacticalStatus.uiFlags & TURNBASED ) && ( gTacticalStatus.uiFlags & INCOMBAT ) )
{
guiLastTacticalRealTime = uiTime;
}
else
{
// If none of these conditions are true, then don't do an end of turn
uiCheckTime = 0xffffffff;
if ( giTimeCompressMode == TIME_COMPRESS_X1 || giTimeCompressMode == 0 )
{
uiCheckTime = NUM_REAL_SEC_PER_TACTICAL_TURN;
}
else
{
// OK, if we have compressed time...., adjust our check value to be faster....
if( giTimeCompressSpeeds[ giTimeCompressMode ] > 0 )
{
uiCheckTime = NUM_REAL_SEC_PER_TACTICAL_TURN / ( giTimeCompressSpeeds[ giTimeCompressMode ] * RT_COMPRESSION_TACTICAL_TURN_MODIFIER );
}
}
if ( ( uiTime - guiLastTacticalRealTime ) > uiCheckTime )
{
HandleTacticalEndTurn( );
guiLastTacticalRealTime = uiTime;
}
}
}
}
void HandleStrategicTurnImplicationsOfExitingCombatMode( void )
{
SyncStrategicTurnTimes();
HandleTacticalEndTurn( /*GetWorldTotalSeconds()*/ ); // doesn't take parameters
}