I think that you should take a long in this code:
WndAwakening.cpp
Code:
const static DWORD AWAKE_KEEP_TIME = 60000; //60초
BOOL CWndSelectAwakeCase::process()
{
return TRUE;
}
void CWndSelectAwakeCase::OnDraw( C2DRender* p2DRender )
{
if( !g_pPlayer )
return;
CItemElem* pItemElem = (CItemElem*)g_pPlayer->GetItemId( m_byObjID );
if( !pItemElem )
{
assert( 0 );
return;
}
m_dwDeltaTime += (g_tmCurrent - m_dwOldTime);
m_dwOldTime = g_tmCurrent;
if( m_dwDeltaTime > AWAKE_KEEP_TIME )
{
//제한시간이 지나면 현재옵션으로 요청
g_DPlay.SendSelectedAwakeningValue( m_byObjID, m_dwSerialNum, _AWAKE_OLD_VALUE );
g_WndMng.PutString( GETTEXT( TID_GAME_REGARDLESS_USE02 ) ); //선택시간 초과
m_dwDeltaTime = 0;
Destroy();
}
//old
OutputOptionString( p2DRender, pItemElem );
//new
OutputOptionString( p2DRender, pItemElem, TRUE );
CRect rect = GetWindowRect();
rect.left += 14;
rect.top += 174;
// 시간 / 100 * 360(총길이) / 600 (총시간)
rect.right = LONG(( rect.left + (AWAKE_KEEP_TIME - m_dwDeltaTime) / 100 ) * 0.6f) ; //귀찮으니 걍 바의 길이를 최대초로...
rect.bottom = rect.top + 20;
// if( m_pTexGuage )
// p2DRender->RenderFillRect( rect, 0xffff0000, m_pTexGuage->m_pTexture );
m_pTheme->RenderGauge(p2DRender, &rect, 0xffffffff, m_pVertexBufferGauge, m_pTexGuage);
// draw icon
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_STATIC1 );
assert( wndCtrl );
if(m_pTexture)
m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
}