Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//-----------------------------------------------------------------------------
// File: fstate.cpp
//
// Desc: FLEX_STATE
//
// Copyright (c) 1994-2000 Microsoft Corporation
//-----------------------------------------------------------------------------
#include "stdafx.h"
//-----------------------------------------------------------------------------
// Name: FLEX_STATE constructor
// Desc:
//-----------------------------------------------------------------------------
FLEX_STATE::FLEX_STATE( STATE *pMainState ) { m_pMainState = pMainState; Reset(); }
//-----------------------------------------------------------------------------
// Name: Reset
// Desc: Reset a frame of normal pipes.
//-----------------------------------------------------------------------------
void FLEX_STATE::Reset( ) { // Choose a random scheme for each frame
if( CPipesScreensaver::iRand(2) ) // 50/50
m_scheme = SC_EXTRUDED_XC; else m_scheme = SC_TURNOMANIA; }
//-----------------------------------------------------------------------------
// Name: OKToUseChase
// Desc: Determines if we can use chase mode for flex pipes
//-----------------------------------------------------------------------------
BOOL FLEX_STATE::OKToUseChase() { return m_scheme != SC_TURNOMANIA; }
//-----------------------------------------------------------------------------
// Name: NewPipe
// Desc: Create a new pipe, based on current drawing scheme
//-----------------------------------------------------------------------------
PIPE* FLEX_STATE::NewPipe( STATE *pState ) { if( m_scheme == SC_TURNOMANIA ) return new TURNING_FLEX_PIPE( pState ); else return new REGULAR_FLEX_PIPE( pState ); }
//-----------------------------------------------------------------------------
// Name: GetMaxPipesPerFrame
// Desc:
//-----------------------------------------------------------------------------
int FLEX_STATE::GetMaxPipesPerFrame( ) { if( m_scheme == SC_TURNOMANIA ) { return TURNOMANIA_PIPE_COUNT; } else { return m_pMainState->m_bUseTexture ? NORMAL_TEX_PIPE_COUNT : NORMAL_PIPE_COUNT; } }
|