634 lines
15 KiB
C++
634 lines
15 KiB
C++
#include "stdafx.h"
|
|
|
|
#include "SGameLoad.h"
|
|
#include "KSeqModel.h"
|
|
#include "SGameMessage.h"
|
|
#include "SGameViewport.h"
|
|
#include <toolkit/XStringUtil.h>
|
|
#include <toolkit/ILock.h>
|
|
#include "KRenderDeviceDX.h"
|
|
|
|
#include "SGameManager.h"
|
|
|
|
#include "SGameSound.h"
|
|
#include "SGameOption.h"
|
|
#include <toolkit/XEnv.h>
|
|
|
|
#include "SUIDefine.h"
|
|
#include "SUITopConsoleWnd.h"
|
|
|
|
//#include "QJTVObj.h"
|
|
//#include "SGameQJTV.h"
|
|
#include "SGameMilesSoundMgr.h"
|
|
#include "KDeviceManager.h"
|
|
#include <kfile/KFileManager.h>
|
|
|
|
#include "SGameSceneSeqPlayer.h"
|
|
#include "SGameQjtvScene.h"
|
|
#include "SGameSceneGroup.h"
|
|
#include "SGameImageScene.h"
|
|
#include "SGameSceneLifeActor.h"
|
|
#include "SGameBGMScene.h"
|
|
#include "SGameCutScene.h"
|
|
|
|
#include "SDebug_Util.h"
|
|
|
|
enum
|
|
{
|
|
STEP_COMPANY,
|
|
STEP_COMPANY_WAIT,
|
|
STEP_LOGO,
|
|
STEP_LOGO_WAIT,
|
|
STEP_ONETIME,
|
|
STEP_LOAD,
|
|
STEP_LOGO_LOBBY,
|
|
STEP_LOGO_LOBBY_SWAP,
|
|
STEP_LOGINFAILED,
|
|
};
|
|
|
|
const int LOGO_VIEW_TIME = 2000;
|
|
|
|
XCriticalSection g_LoadCS;
|
|
|
|
SGameLoad::SGameLoad(SGameManager* pGameMng, int nGameType,
|
|
K3DRenderDeviceDX *pRenderDevice, SSoundManager *pSoundMng,
|
|
KTextureManager * pTextureMng, KNX3Manager * pNX3Mng, SGameMilesSoundMgr* pMSoundMgr )
|
|
: SGame( pGameMng, nGameType, pRenderDevice, pSoundMng, pTextureMng, pNX3Mng, pMSoundMgr )
|
|
, m_bStopLogoIntroRender(false)
|
|
, m_pLoadGame( NULL )
|
|
, m_pSceneMgr( 0 )
|
|
{
|
|
m_nGameType = GAME_TYPE_LOAD; //게임 타입
|
|
m_nNextGameType = GAME_TYPE_LOGIN; //다음 예약 게임 타입
|
|
|
|
// m_pLoaingTextOutWnd = NULL;
|
|
|
|
m_nActGameCount = 0;
|
|
|
|
Init();
|
|
}
|
|
|
|
SGameLoad::~SGameLoad()
|
|
{
|
|
Destroy();
|
|
}
|
|
|
|
void SGameLoad::Init()
|
|
{
|
|
m_dwGapTime = LOGO_VIEW_TIME;
|
|
m_dwStartTime = 0;
|
|
// m_nStep = STEP_COMPANY;
|
|
// m_nStep = STEP_LOAD;
|
|
m_fVisibiity = 1.f;
|
|
|
|
//#ifndef _RELEASE
|
|
m_nStep = STEP_LOGO;
|
|
//#endif
|
|
|
|
m_bFirstLoad = false;
|
|
|
|
|
|
m_ThreadManager.StartThread( "SGameLoad", 1 );
|
|
|
|
m_bIntroStart = false;
|
|
m_dwOldTime = 0;
|
|
|
|
m_pGameQJTV = NULL;
|
|
}
|
|
|
|
|
|
rp::SGameScene *SGameLoad::LoadMovie(rp::SGameSceneSeqPlayer* pScenePlayer, const char *scenename,
|
|
const char *filename, const char *bgmname, const char *drawmode)
|
|
{
|
|
//언젠간 SGameRenewalLobby LoadMovie 함수랑 통합하자.. 일단은 나중에. sfreer 2009.07.09
|
|
|
|
int ScreenWidth = KUIWndManager::GetResolution().cx;
|
|
int ScreenHeight = KUIWndManager::GetResolution().cy;
|
|
int adjustedWidth = ScreenHeight * 4 / 3;
|
|
/// 2010.12.28 - prodongi
|
|
if (adjustedWidth > ScreenWidth) adjustedWidth = ScreenWidth;
|
|
|
|
bool bfullscreenmode = false;
|
|
|
|
if( ::_stricmp(drawmode,"fullscreen") == 0)
|
|
bfullscreenmode = true;
|
|
|
|
|
|
if( strstr( filename, ".jtv" ) != NULL )
|
|
{
|
|
rp::SGameQjtvScene* pQjtvScene = new rp::SGameQjtvScene(
|
|
*m_pSceneMgr
|
|
, pScenePlayer
|
|
, scenename
|
|
, filename
|
|
, bgmname
|
|
, bfullscreenmode ? K3DVector( ScreenWidth/2 - 1024/2, ScreenHeight/2 - 768/2, 1.0f ) : K3DVector( ScreenWidth/2 - adjustedWidth/2, 0.f, 1.0f )
|
|
, KColor( 0xff000000 )
|
|
, bfullscreenmode ? rp::SGameQjtvScene::FULL | rp::SGameQjtvScene::CENTER : 0
|
|
, 25
|
|
, true
|
|
, 0
|
|
, bfullscreenmode ? K3DVector2(-1.f, -1.f) : K3DVector2(adjustedWidth, ScreenHeight)
|
|
);
|
|
|
|
SDEBUGLOG("SGameLoad::LoadMovie JTV - %s, %s, %s", scenename,filename,drawmode);
|
|
return pQjtvScene;
|
|
}
|
|
else if( strstr( filename, ".xml" ) != NULL )
|
|
{
|
|
rp::SGameCutScene* pCutScene = new rp::SGameCutScene(
|
|
*m_pSceneMgr
|
|
, pScenePlayer
|
|
, scenename
|
|
, filename
|
|
, bfullscreenmode ? K3DVector( 0.f, 0.f, 1.0f ) : K3DVector( ScreenWidth/2 - adjustedWidth/2, 0.f, 1.0f )
|
|
, bfullscreenmode ? K3DVector2(ScreenWidth, ScreenHeight) : K3DVector2(adjustedWidth, ScreenHeight)
|
|
);
|
|
|
|
SDEBUGLOG("SGameLoad::LoadMovie XML - %s, %s, %s", scenename,filename,drawmode);
|
|
return pCutScene;
|
|
}
|
|
else if( strstr( filename, ".png" ) != NULL || strstr( filename, ".jpg" ) != NULL || strstr( filename, ".dds" ) != NULL)
|
|
{
|
|
rp::SGameImageScene* pImageScene = new rp::SGameImageScene(
|
|
*m_pSceneMgr
|
|
, pScenePlayer
|
|
, scenename
|
|
, filename
|
|
, bfullscreenmode ? K3DVector( 0.f, 0.f, 1.0f ) : K3DVector( ScreenWidth/2 - adjustedWidth/2, 0.f, 1.0f )
|
|
, true
|
|
, 0
|
|
, bfullscreenmode ? K3DVector2(ScreenWidth, ScreenHeight) : K3DVector2(adjustedWidth, ScreenHeight)
|
|
);
|
|
|
|
pImageScene->registerActor( *( new rp::SGameSceneLifeActor( 4000, 1500, 1500 ) ) );
|
|
|
|
SDEBUGLOG("SGameLoad::LoadMovie IMAGE - %s, %s, %s", scenename,filename,drawmode);
|
|
return pImageScene;
|
|
|
|
}
|
|
|
|
SDEBUGLOG("SGameLoad::LoadMovie FAILED - %s, %s, %s", scenename,filename,drawmode);
|
|
|
|
return NULL;
|
|
}
|
|
|
|
|
|
void SGameLoad::InitMovie()
|
|
{
|
|
|
|
// create scene manager
|
|
m_pSceneMgr = new rp::SGameSceneManager(
|
|
*m_pGameMng
|
|
, *KDeviceManager::GetDeviceManager()
|
|
, *m_pTextureMng
|
|
, *m_pSoundMng
|
|
, *m_pMSoundMgr
|
|
, *m_pNX3Mng
|
|
, KFileManager::Instance() );
|
|
|
|
rp::SGameSceneSeqPlayer* pScenePlayer = new rp::SGameSceneSeqPlayer( *m_pSceneMgr, 0, "seq_player" );
|
|
m_ScenePlayer = pScenePlayer;
|
|
|
|
|
|
rp::SGameScene* pPublisherScene = LoadMovie( pScenePlayer,
|
|
"publisher_scene",
|
|
GetLocaleOption().GetValueString("PUBLISHER_LOGO",""),
|
|
GetLocaleOption().GetValueString("PUBLISHER_LOGO_BGM",""),
|
|
GetLocaleOption().GetValueString("PUBLISHER_LOGO_DRAWMODE","") );
|
|
|
|
rp::SGameScene* pCompanyScene = LoadMovie( pScenePlayer,
|
|
"company_scene",
|
|
GetLocaleOption().GetValueString("NFLAVOR_LOGO","company.jtv"),
|
|
GetLocaleOption().GetValueString("NFLAVOR_LOGO_BGM","company.ogg"),
|
|
GetLocaleOption().GetValueString("NFLAVOR_LOGO_DRAWMODE","") );
|
|
|
|
rp::SGameScene* pAddPublisherScene = LoadMovie( pScenePlayer,
|
|
"additional_publisher_scene",
|
|
GetLocaleOption().GetValueString("PUBLISHER2nd_LOGO",""),
|
|
GetLocaleOption().GetValueString("PUBLISHER2nd_LOGO_BGM",""),
|
|
GetLocaleOption().GetValueString("PUBLISHER2nd_LOGO_DRAWMODE","") );
|
|
|
|
rp::SGameScene* pCopyrightScene = LoadMovie( pScenePlayer,
|
|
"copyright_scene",
|
|
GetLocaleOption().GetValueString("COPYRIGHT",""),
|
|
GetLocaleOption().GetValueString("COPYRIGHT_BGM",""),
|
|
GetLocaleOption().GetValueString("COPYRIGHT_DRAWMODE","") );
|
|
|
|
/*if ( (ENV().GetString("country") == "CN")) // 중국
|
|
{
|
|
rp::SGameImageScene* pSafetyNotieScene = new rp::SGameImageScene(
|
|
*m_pSceneMgr
|
|
, pScenePlayer
|
|
, "chinese_safety_notice"
|
|
, "chinese_safety_notice.jpg"
|
|
, true );
|
|
|
|
pSafetyNotieScene->registerActor( *( new rp::SGameSceneLifeActor( 5000, 1500, 1500 ) ) );
|
|
|
|
pScenePlayer->addChild( pSafetyNotieScene );
|
|
}*/
|
|
|
|
|
|
if(pPublisherScene)
|
|
pScenePlayer->addChild( pPublisherScene );
|
|
if(pCompanyScene)
|
|
pScenePlayer->addChild( pCompanyScene );
|
|
if(pAddPublisherScene)
|
|
pScenePlayer->addChild( pAddPublisherScene );
|
|
if(pCopyrightScene)
|
|
pScenePlayer->addChild( pCopyrightScene );
|
|
|
|
|
|
m_pSceneMgr->addScene( *m_ScenePlayer );
|
|
m_ScenePlayer->activate();
|
|
|
|
m_bIntroStart = true;
|
|
}
|
|
|
|
void SGameLoad::DestroyMovie()
|
|
{
|
|
// SAFE_DELETE(m_pGameQJTV);
|
|
SAFE_DELETE( m_pSceneMgr );
|
|
}
|
|
|
|
void SGameLoad::SetResolution( int nWidth, int nHeight )
|
|
{
|
|
int nHalfW = KUIWndManager::GetResolution().cx / 2;
|
|
int nHalfH = KUIWndManager::GetResolution().cy * 3/4;
|
|
|
|
// if( m_pLoaingTextOutWnd ) m_pLoaingTextOutWnd->rp::moPos( nHalfW - m_pLoaingTextOutWnd->GetRect().GetWidth()/2, nHalfH );
|
|
}
|
|
|
|
void SGameLoad::Destroy()
|
|
{
|
|
DestroyMovie();
|
|
|
|
// SAFE_DELETE( m_pLoaingTextOutWnd );
|
|
|
|
m_ThreadManager.EndThread();
|
|
|
|
for( unsigned int i(0); m_vDelGameThreadList.size()>i; i++ )
|
|
delete m_vDelGameThreadList[i];
|
|
m_vDelGameThreadList.clear();
|
|
|
|
m_vGameThreadList.clear();
|
|
|
|
// SAFE_DELETE( m_pLogo );
|
|
// SAFE_DELETE( m_pModel1 );
|
|
}
|
|
|
|
void SGameLoad::initLogoModel()
|
|
{
|
|
|
|
}
|
|
|
|
void SGameLoad::destroyLogoModel()
|
|
{
|
|
|
|
}
|
|
|
|
void SGameLoad::initLoadModel()
|
|
{
|
|
|
|
}
|
|
|
|
void SGameLoad::destroyLoadModel()
|
|
{
|
|
|
|
}
|
|
|
|
void SGameLoad::LoadGame( int nGameIndex )
|
|
{
|
|
THREAD_SYNCRONIZE( &g_LoadCS );
|
|
|
|
_oprint( "SGameLoad::LoadGame\n" ); //쓰레드 버그 잡기 위함.
|
|
|
|
// if( m_pLoaingTextOutWnd ) m_pLoaingTextOutWnd->Refresh();
|
|
|
|
//Thread Create
|
|
SGameThread * pThread = new SGameThread( m_pGameMng, nGameIndex, m_pRenderDevice, m_pSoundMng, m_pTextureMng, m_pNX3Mng, m_pMSoundMgr );
|
|
|
|
m_bStopLogoIntroRender = false;
|
|
|
|
m_vGameThreadList.push_back( pThread );
|
|
m_ThreadManager.Push( pThread ); // 스레드 시작s
|
|
}
|
|
|
|
bool SGameLoad::Render( KViewportObject *viewport )
|
|
{
|
|
if( m_nStep == STEP_LOGO_LOBBY_SWAP )
|
|
{
|
|
if( m_pSceneMgr )
|
|
{
|
|
m_nStep = STEP_LOAD;
|
|
m_ScenePlayer->activate( false );
|
|
return true;
|
|
}
|
|
}
|
|
|
|
if (m_nStep == STEP_LOGINFAILED)
|
|
{
|
|
m_pViewPort->SetFillColor( KColor( 0, 0, 0, 255 ) );
|
|
return true;
|
|
}
|
|
|
|
if( GetActGameCount() > 0 )
|
|
{
|
|
if( m_vGameThreadList.empty() )
|
|
return true;
|
|
}
|
|
|
|
if( m_nStep == STEP_COMPANY_WAIT || m_nStep == STEP_LOGO_WAIT || m_nStep == STEP_COMPANY || m_nStep == STEP_LOGO || m_nStep == STEP_ONETIME )
|
|
{
|
|
m_pViewPort->SetFillColor( KColor( 0, 0, 0, 255 ) );
|
|
// if( m_pModel1 ) m_pModel1->Render( viewport );
|
|
}
|
|
else if( m_nStep == STEP_LOAD )
|
|
{
|
|
if( !m_bStopLogoIntroRender )
|
|
{
|
|
// if( m_pModel1 ) m_pModel1->Render( viewport );
|
|
// if( m_pLoaingTextOutWnd ) m_pLoaingTextOutWnd->Render( viewport, true );
|
|
}
|
|
}
|
|
else if( m_nStep == STEP_LOGO_LOBBY )
|
|
{
|
|
if( m_pSceneMgr )
|
|
{
|
|
if( m_pMSoundMgr && m_bIntroStart )
|
|
{
|
|
//m_pMSoundMgr->ForcePlayMusic( "logomaster.ogg" );
|
|
m_pViewPort->SetFillColor( KColor( 0, 0, 0, 255 ) );
|
|
m_bIntroStart = false;
|
|
}
|
|
|
|
m_pSceneMgr->render(viewport);
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
void SGameLoad::ProcMsgAtStatic( SGameMessage* pGameMsg )
|
|
{
|
|
switch( pGameMsg->nType )
|
|
{
|
|
case IMSG_HOTKEY_EX:
|
|
{
|
|
SIMSG_HOTKEY_EX* pMsg = static_cast<SIMSG_HOTKEY_EX*>(pGameMsg);
|
|
if( !pMsg->bUp )
|
|
{
|
|
if( LOWORD(pMsg->wParam ) == VK_ESCAPE )
|
|
{
|
|
if( m_pSceneMgr )
|
|
{
|
|
rp::SGameSceneSeqPlayer* player = (rp::SGameSceneSeqPlayer* )m_ScenePlayer.get();
|
|
|
|
rp::SGameScene* publisherscene = player->getChildByName("publisher_scene");
|
|
if(publisherscene)
|
|
{
|
|
if(publisherscene->isActivated())
|
|
{
|
|
publisherscene->activate(false);
|
|
}
|
|
}
|
|
|
|
rp::SGameScene* companyscene = player->getChildByName("company_scene");
|
|
if(companyscene)
|
|
{
|
|
if(companyscene->isActivated())
|
|
{
|
|
companyscene->activate(false);
|
|
}
|
|
}
|
|
|
|
rp::SGameScene* additionalpublisherscene = player->getChildByName("additional_publisher_scene");
|
|
if(additionalpublisherscene)
|
|
{
|
|
if(additionalpublisherscene->isActivated())
|
|
{
|
|
additionalpublisherscene->activate(false);
|
|
}
|
|
}
|
|
|
|
rp::SGameScene* copyrightscene = player->getChildByName("copyright_scene");
|
|
if(copyrightscene)
|
|
{
|
|
if(copyrightscene->isActivated())
|
|
{
|
|
copyrightscene->activate(false);
|
|
}
|
|
}
|
|
|
|
rp::SGameScene* chinesesafetynotice = player->getChildByName("chinese_safety_notice");
|
|
if(chinesesafetynotice)
|
|
{
|
|
if(chinesesafetynotice->isActivated())
|
|
{
|
|
chinesesafetynotice->activate(false);
|
|
m_ScenePlayer->activate( false );
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
bool SGameLoad::IsActivated()
|
|
{
|
|
THREAD_SYNCRONIZE( &g_LoadCS );
|
|
|
|
//로딩중인 게임이 없으면 false
|
|
return m_vGameThreadList.empty() ? false : true;
|
|
}
|
|
|
|
bool SGameLoad::IsOffJTVLogo()
|
|
{
|
|
return !m_ScenePlayer->isActivated();
|
|
};
|
|
|
|
bool SGameLoad::Process( DWORD time, unsigned long uProcessBitVector )
|
|
{
|
|
THREAD_SYNCRONIZE( &g_LoadCS );
|
|
|
|
m_dwTime = time;
|
|
|
|
if( m_nStep == STEP_LOGO_LOBBY_SWAP )
|
|
{
|
|
if( m_bStopLogoIntroRender )
|
|
{
|
|
m_nStep = STEP_LOAD;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//if (m_nStep == STEP_LOGINFAILED)
|
|
// return false;
|
|
|
|
if( m_vGameThreadList.empty() ) return false;
|
|
|
|
if( m_nStep == STEP_COMPANY )
|
|
{
|
|
// if ( m_pLogo == NULL ) initLogoModel();
|
|
|
|
if( m_dwStartTime == 0 )
|
|
{
|
|
m_dwStartTime = time;
|
|
}
|
|
|
|
DWORD elapsed = time - m_dwStartTime;
|
|
if ( elapsed > m_dwGapTime )
|
|
{
|
|
//fade in 완료
|
|
m_dwStartTime = 0;
|
|
m_nStep = STEP_COMPANY_WAIT;
|
|
m_fVisibiity = 1.f;
|
|
m_dwGapTime = LOGO_VIEW_TIME;
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
m_fVisibiity = (float(elapsed) / m_dwGapTime);
|
|
}
|
|
|
|
// if( m_pLogo ) m_pLogo->SetVisibility(m_fVisibiity);
|
|
}
|
|
else if( m_nStep == STEP_COMPANY_WAIT )
|
|
{
|
|
if( m_dwStartTime == 0 )
|
|
{
|
|
m_dwStartTime = time;
|
|
}
|
|
else if( (time-m_dwStartTime)>=m_dwGapTime*2 )
|
|
{
|
|
//대기 시간 완료
|
|
m_dwStartTime = 0;
|
|
//m_nStep = STEP_LOGO;
|
|
m_nStep = STEP_LOAD; // 바로 로드
|
|
m_fVisibiity = 1.f;
|
|
m_dwGapTime = LOGO_VIEW_TIME;
|
|
destroyLogoModel();
|
|
//if( m_pLogo ) m_pLogo->PlayAnimation( time, "logo_rapplercreer" );
|
|
return false;
|
|
}
|
|
|
|
DWORD elapsed = time - m_dwStartTime;
|
|
if ( elapsed > m_dwGapTime )
|
|
{
|
|
//fade Out
|
|
m_fVisibiity = 1.f - (float(elapsed-m_dwGapTime) / m_dwGapTime);
|
|
}
|
|
|
|
// if( m_pLogo ) m_pLogo->SetVisibility(m_fVisibiity);
|
|
}
|
|
else if( m_nStep == STEP_LOGO )
|
|
{
|
|
InitMovie();
|
|
m_nStep = STEP_LOGO_LOBBY;
|
|
}
|
|
else if( m_nStep == STEP_LOGO_WAIT )
|
|
{
|
|
if( m_dwStartTime == 0 )
|
|
{
|
|
m_dwStartTime = time;
|
|
}
|
|
else if( (time-m_dwStartTime)>=m_dwGapTime*2 )
|
|
{
|
|
m_dwStartTime = 0;
|
|
m_nStep = STEP_LOAD;
|
|
m_fVisibiity = 1.f;
|
|
m_dwGapTime = LOGO_VIEW_TIME;
|
|
// destroyLoadModel();
|
|
return false;
|
|
}
|
|
DWORD elapsed = time - m_dwStartTime;
|
|
if ( elapsed > m_dwGapTime )
|
|
{
|
|
m_fVisibiity = 1.f - (float(elapsed-m_dwGapTime) / m_dwGapTime);
|
|
}
|
|
// if( m_pLogo ) m_pLogo->SetVisibility(m_fVisibiity);
|
|
}
|
|
else if( m_nStep == STEP_ONETIME )
|
|
{
|
|
// if( m_pLogo ) m_pLogo->SetVisibility(m_fVisibiity);
|
|
//Loading 끝났나 검사.
|
|
if( !m_vGameThreadList.empty() )
|
|
{
|
|
SGameThread * pThread = m_vGameThreadList[0];
|
|
if( pThread->IsFinished() )
|
|
{
|
|
m_pLoadGame = pThread->GetLoadGame();
|
|
m_nStep = STEP_LOAD;
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
else if( m_nStep == STEP_LOAD )
|
|
{
|
|
//Loading 끝났나 검사.
|
|
if( !m_vGameThreadList.empty() )
|
|
{
|
|
SGameThread * pThread = m_vGameThreadList[0];
|
|
if( pThread->IsFinished() )
|
|
{
|
|
m_bFirstLoad = false;
|
|
|
|
destroyLoadModel();
|
|
m_pLoadGame = pThread->GetLoadGame();
|
|
|
|
if (m_pGameMng)
|
|
//m_pGameMng->UpdateLoadingProgress(0.2f);
|
|
m_pGameMng->UpdateAddLoadingProcess(0.2f);
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|
|
else if( m_nStep == STEP_LOGO_LOBBY )
|
|
{
|
|
|
|
if( m_pSceneMgr )
|
|
m_pSceneMgr->tick( GetSafeTickCount() );
|
|
|
|
if( !m_vGameThreadList.empty() )
|
|
{
|
|
SGameThread * pThread = m_vGameThreadList[0];
|
|
|
|
if( m_pSceneMgr && !m_ScenePlayer->isActivated() && pThread->IsFinished() )
|
|
{
|
|
m_bFirstLoad = false;
|
|
|
|
m_pLoadGame = pThread->GetLoadGame();
|
|
m_nStep = STEP_LOGO_LOBBY_SWAP;
|
|
|
|
m_dwOldTime = 0;
|
|
|
|
if( GetGameOption().GetAll_Mute() == 0 ||
|
|
GetGameOption().GetAll_Mute() == 1 )
|
|
{
|
|
m_pMSoundMgr->SetSoundMute( GetGameOption().GetAll_Mute() );
|
|
|
|
if( !GetGameOption().GetAll_Mute() )
|
|
{
|
|
m_pMSoundMgr->SetSfxMute( GetGameOption().GetSFX_Mute() );
|
|
m_pMSoundMgr->SetBgmMute( GetGameOption().GetBGM_Mute() );
|
|
m_pMSoundMgr->SetEnvMute( GetGameOption().GetENVS_Mute() );
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|