コード例 #1
0
ファイル: WndPiercing.cpp プロジェクト: domz1/SourceFlyFF
void CWndPiercing::OnInitialUpdate()
{
	CWndNeuz::OnInitialUpdate(); 

	CWndInventory* pWndInventory = (CWndInventory*)g_WndMng.CreateApplet( APP_INVENTORY );
	
	CRect rcInventory	= pWndInventory->GetWindowRect( TRUE );
	CRect rcVendor = GetWindowRect( TRUE );
	CPoint ptInventory	= rcInventory.TopLeft();
	CPoint point;
	if( ptInventory.x > m_pWndRoot->GetWndRect().Width() / 2 )
		point	= ptInventory - CPoint( rcVendor.Width(), 0 );
	else
		point	= ptInventory + CPoint( rcInventory.Width(), 0 );

	Move( point );

	LPWNDCTRL pCustom = NULL;
	pCustom = GetWndCtrl( WIDC_STATIC5 );
	m_Rect[0] = pCustom->rect;
	pCustom = GetWndCtrl( WIDC_STATIC6 );
	m_Rect[1] = pCustom->rect;
	pCustom = GetWndCtrl( WIDC_STATIC7 );
	m_Rect[2] = pCustom->rect;

	CWndStatic* pGoldNum = (CWndStatic*) GetDlgItem( WIDC_STATIC9 );
	pGoldNum->AddWndStyle( WSS_MONEY );
	

	if( g_pPlayer )
		m_pSfx = CreateSfx( g_Neuz.m_pd3dDevice, XI_INT_INCHANT, g_pPlayer->GetPos(), g_pPlayer->GetId(), g_pPlayer->GetPos(), g_pPlayer->GetId(), -1 );
} 
コード例 #2
0
BOOL  CWndBlessingCancel::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{

	CItemElem* pTempElem;
	pTempElem  = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );

    if( g_xRandomOptionProperty->GetRandomOptionKind( pTempElem ) == CRandomOptionProperty::eBlessing
		&& g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ))
	{
		// 하락 상태가 된 아이템만 올릴 수 있다. 
		if(pTempElem != NULL)
		{
			if(m_pItemElem) m_pItemElem->SetExtra(0);
			m_pItemElem = pTempElem;
			m_pEItemProp = m_pItemElem->GetProp();
			m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);
			CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_START);
			pButton->EnableWindow(TRUE);
			
			LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CHANGE );
			if(m_pEItemProp != NULL)
			{
				m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, m_pEItemProp->szIcon), 0xffff00ff );
			}
		}
	}
	else
	{
		g_WndMng.PutString( prj.GetText(TID_GAME_BLESSEDNESS_CANCEL), NULL, 0xffff0000 );
		return FALSE;
	}

	return TRUE;

}
コード例 #3
0
ファイル: WndOption.cpp プロジェクト: domz1/SourceFlyFF
int CWndOptSound::GetSliderStep(DWORD dwWndId, int &nStep, CPoint point )
{
	LPWNDCTRL lpWndCtrl = GetWndCtrl( dwWndId );	
	CRect crect = lpWndCtrl->rect;
	
	crect.left += GetStepPos( nStep, lpWndCtrl->rect.right - lpWndCtrl->rect.left, MAX_SLIDER ).x;
	crect.right = crect.left+16;
	
	if( PtInRect( crect, point ) )
	{
		return -1;
	}
	
	crect = lpWndCtrl->rect;
	if( PtInRect( crect, point ) )
	{
		int nWidth = lpWndCtrl->rect.right - lpWndCtrl->rect.left;
		
		if( point.x > lpWndCtrl->rect.left+GetStepPos( nStep, nWidth, MAX_SLIDER ).x )
			nStep += 1;//nWidth / 10;
		else
			nStep -= 1;//nWidth / 10;

		return 1;
	}

	return 0;
}
コード例 #4
0
ファイル: WndGuildHouse.cpp プロジェクト: iceberry/flyffsf
void CWndGHTeleporter::DrawSlotItems( C2DRender* p2DRender )
{
	if( !g_pPlayer )
		return;

	LPWNDCTRL wndCtrl = NULL;
	for( int i=0; i<MAX_TELEPORTER_SLOT; ++i )
	{
		HOUSING_ITEM& kItem = m_cWndItems[ i ];

		if( EMPTY_SLOT == kItem.m_nType )			//빈슬롯 
			continue;
	
		ItemProp* pProp = prj.GetItemProp( kItem.m_nIndex );
		if( !pProp )
			continue;

		m_pTexture[ i ] = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, pProp->szIcon), 0xffff00ff );
			
		if(m_pTexture[ i ] != NULL)
		{
			wndCtrl = GetWndCtrl( m_nCtrlId[i] );
			if( wndCtrl )
			{
				CPoint pt2 = CPoint( wndCtrl->rect.left, wndCtrl->rect.top );
				if( 0 == i )
					m_pTexture[ i ]->Render2( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ), 0xffffff00 );
				else
					m_pTexture[ i ]->Render2( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ), 0xffffffff );
			}
		}

	}	
}
コード例 #5
0
void CWndBlessingCancel::OnDraw( C2DRender* p2DRender ) 
{ 

	LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CHANGE );
			
	if(m_pTexture != NULL)
		m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );

} 
コード例 #6
0
void CWndAwakening::OnDraw( C2DRender* p2DRender ) 
{ 

	LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_STATIC1 );
			
	if(m_pTexture)
		m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
		
} 
コード例 #7
0
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 ) );
} 
コード例 #8
0
ファイル: WndGuildHouse.cpp プロジェクト: iceberry/flyffsf
void CWndGHTeleporter::OnDraw(C2DRender* p2DRender)
{
	DrawSlotItems( p2DRender );

	if( m_nSelectedSlot > -1 && m_nSelectedSlot < MAX_TELEPORTER_SLOT )
	{
		LPWNDCTRL wndCtrl = NULL;
		wndCtrl = GetWndCtrl( m_nCtrlId[ m_nSelectedSlot ] );
		CRect rect = wndCtrl->rect;

		p2DRender->RenderFillRect( rect, 0x55ff2277 );
	}
}
コード例 #9
0
ファイル: WndRegVend.cpp プロジェクト: iceberry/flyffsf
void CWndRegVend::OnLButtonUp( UINT nFlags, CPoint point )
{
	{
		CPoint point2 = GetMousePoint();
		LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_SELLNUM );
		CRect rectCtrl = lpWndCtrl->rect;
		
		if( rectCtrl.PtInRect( point2 ) )
		{
			m_dwFocus = 0;
			return;
		}

		lpWndCtrl = GetWndCtrl(WIDC_SELLPRI);
		rectCtrl = lpWndCtrl->rect;
		if( rectCtrl.PtInRect( point2 ) )
		{
			m_dwFocus = 1;
			return;
		}
	}
}
コード例 #10
0
ファイル: WndOption.cpp プロジェクト: domz1/SourceFlyFF
void CWndOptSound::OnDraw( C2DRender* p2DRender ) 
{ 
	CPoint pt;

	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
	CPoint pt1 = lpWndCtrl->rect.TopLeft();
	CPoint pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	p2DRender->RenderFillRect( lpWndCtrl->rect, 0);	
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[0], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
	
	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM2 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[1], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );

} 
コード例 #11
0
ファイル: WndLvReqDown.cpp プロジェクト: domz1/SourceFlyFF
void CWndLvReqDown::OnDraw( C2DRender* p2DRender ) 
{ 
	ItemProp* pItemProp;
	
	if(m_pItemElem != NULL)
	{
		pItemProp = m_pItemElem->GetProp();
		LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_STATIC1 );
		
		if(m_pTexture != NULL)
			m_pTexture->Render( p2DRender, CPoint( wndCtrl->rect.left, wndCtrl->rect.top ) );
	} 
} 
コード例 #12
0
void CWndItemTransy::Init( CItemElem* pItemElem )
#endif //__SYS_ITEMTRANSY
{
#ifdef __SYS_ITEMTRANSY
	m_bMenu = bMenu;
#endif // __SYS_ITEMTRANSY
	for( int i = 0 ; i < 2 ; ++i )
		m_pItemElem[i] = NULL;
	 	
	LPWNDCTRL pWndCtrl = NULL;
	pWndCtrl = GetWndCtrl( WIDC_STATIC1 );
	m_Rect[0] = pWndCtrl->rect;

	pWndCtrl = GetWndCtrl( WIDC_STATIC4 );
	m_Rect[1] = pWndCtrl->rect;

	if( pItemElem )
	{
		m_pItemElem[1] = pItemElem;
		m_pItemElem[1]->SetExtra( 1 );
	}
}
コード例 #13
0
ファイル: WndDialog.cpp プロジェクト: iceberry/flyffsf
void CWndDialog::MakeKeyButton()
{
	DWORD dwMaxHeight = m_pFont->GetMaxHeight() + 6;
	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM2 );
	CRect rectClient = GetClientRect();
	int x = 0, y = 0;
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
	BOOL bQuestButtonLinefeedSwitch = FALSE;
#endif // __IMPROVE_QUEST_INTERFACE
	int i; for( i = 0; i < m_nKeyButtonNum; i++ )
	{
		WORDBUTTON* pWndButton = &m_aKeyButton[ i ];

		CSize size = m_pFont->GetTextExtent( pWndButton->szWord );
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
		size.cx += 16;
#else // __IMPROVE_QUEST_INTERFACE
		size.cx += 20;//10 * 6;
#endif // __IMPROVE_QUEST_INTERFACE
		//size.cy += 4;
		pWndButton->bStatus = FALSE;
		
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
		pWndButton->rect = CRect( lpWndCtrl->rect.left + x, lpWndCtrl->rect.top + y * dwMaxHeight, 
			lpWndCtrl->rect.left + x + size.cx, lpWndCtrl->rect.top + y * dwMaxHeight + size.cy );
#else // __IMPROVE_QUEST_INTERFACE
		pWndButton->rect = CRect( lpWndCtrl->rect.left + x, lpWndCtrl->rect.top + y * dwMaxHeight, 
			lpWndCtrl->rect.left + x + size.cx, lpWndCtrl->rect.top + y * size.cy + dwMaxHeight );
#endif // __IMPROVE_QUEST_INTERFACE
		if( pWndButton->rect.right > lpWndCtrl->rect.right )
		{
			x = 0, y++;
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
			pWndButton->rect = CRect( lpWndCtrl->rect.left + x * size.cx, lpWndCtrl->rect.top + y * dwMaxHeight, 
				lpWndCtrl->rect.left + ( x * size.cx ) + size.cx, lpWndCtrl->rect.top + y * dwMaxHeight + size.cy );
		}
		else if( ( strcmp( pWndButton->szWord, prj.GetText( TID_GAME_NEW_QUEST ) ) == 0 || strcmp( pWndButton->szWord, prj.GetText( TID_GAME_CURRENT_QUEST ) ) == 0 ) && 
			bQuestButtonLinefeedSwitch == FALSE )
		{
			x = 0, ++y;
			pWndButton->rect = CRect( lpWndCtrl->rect.left + x * size.cx, lpWndCtrl->rect.top + y * dwMaxHeight, 
				lpWndCtrl->rect.left + ( x * size.cx ) + size.cx, lpWndCtrl->rect.top + y * dwMaxHeight + size.cy );
			bQuestButtonLinefeedSwitch = TRUE;
#else // __IMPROVE_QUEST_INTERFACE
			pWndButton->rect = CRect( lpWndCtrl->rect.left + x * size.cx, lpWndCtrl->rect.top + y * dwMaxHeight, 
				lpWndCtrl->rect.left + x * size.cx + size.cx, lpWndCtrl->rect.top + y * size.cy + dwMaxHeight );
#endif // __IMPROVE_QUEST_INTERFACE
		}				
		x += size.cx;
	}
}
コード例 #14
0
void CWndPartyQuick::OnDraw( C2DRender* p2DRender ) 
{ 
	// 파티 정보 출력
	//Static control
	int nMax = g_Party.m_nSizeofMember;
	int i;
	CRect rect;

	SetActiveMember(nMax);

	for(i=0; i<nMax; i++)
	{
		LPWNDCTRL lpWndCtrl = GetWndCtrl( StaticID[i] );
		rect = lpWndCtrl->rect;
		CMover* pObjMember = prj.GetUserByID( g_Party.m_aMember[i].m_uPlayerId );
		CString strMember;
		
		if(m_pFocusMember == pObjMember)
			p2DRender->RenderFillRect( rect, 0x60ffff00 );

		// 상태에 따라 색 변경
		DWORD dwColor = 0xff000000;
		u_long  nLeadMember = g_Party.m_aMember[i].m_uPlayerId;
		if( IsValidObj(pObjMember) )
		{
			if( pObjMember->GetHitPoint() == 0 ) 
				dwColor = 0xffff0000; // 죽은놈
			else if( ((FLOAT)pObjMember->GetHitPoint()) / ((FLOAT)pObjMember->GetMaxHitPoint()) <.1f ) 
				dwColor = 0xffffff00; // HP 10% 이하인놈
			if(g_Party.IsLeader(nLeadMember)) //Leader Color Set
			{
				dwColor = 0xff1fb72d; //굵게 해야함...
#if __VER >= 10 // __LEGEND
				if(pObjMember->IsMaster())
					strMember.Format( prj.GetText( TID_GAME_QUICK_MARK_MASTER ), pObjMember->GetLevel(), pObjMember->GetName() );
				else if(pObjMember->IsHero())
#if __VER >= 15 // __HERO129_VER15				// 15차 히어로 레벨확장
					strMember.Format( prj.GetText( TID_GAME_QUICK_MARK_HERO ), pObjMember->GetLevel(), pObjMember->GetName() );
	#else	// 15차 히어로 레벨확장
					strMember.Format( prj.GetText( TID_GAME_QUICK_MARK_HERO_BEFORE ), pObjMember->GetName() );
	#endif	// 15차 히어로 레벨확장
				else 
					strMember.Format( "%d. %s", pObjMember->GetLevel(), pObjMember->GetName() );
#else //__LEGEND
				strMember.Format( "%d. %s", pObjMember->GetLevel(), pObjMember->GetName() );
#endif //__LEGEND
			}
			else
			{
#if __VER >= 10 // __LEGEND
				if(pObjMember->IsMaster())
コード例 #15
0
ファイル: WndDialog.cpp プロジェクト: iceberry/flyffsf
void CWndDialog::EndSay()
{
	if( m_strArray.GetSize() )
	{
		LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
		m_string.Init( m_pFont, &lpWndCtrl->rect );
		m_string.SetEditString( *(CEditString*)m_strArray.GetAt( 0 ) );//, 0xff000000 );
		m_nCurArray = 0;
	}
	MakeKeyButton();
	MakeContextButton();
	MakeAnswerButton();
	UpdateButtonEnable();

}
コード例 #16
0
ファイル: WndGuildHouse.cpp プロジェクト: iceberry/flyffsf
int CWndGHTeleporter::GetSlotIndexByPoint( const CPoint& point )
{
	LPWNDCTRL wndCtrl = NULL;
	CRect rect;
	int i; for( i = 0; i < MAX_TELEPORTER_SLOT; ++i )
	{
		wndCtrl = GetWndCtrl( m_nCtrlId[i] );		// 슬롯으로 만들어진 윈도우에 대하여 
		rect  = wndCtrl->rect;

		if( rect.PtInRect( point ) )
			return i;		
	}

	return -1;
}
コード例 #17
0
ファイル: WndOption.cpp プロジェクト: domz1/SourceFlyFF
void CWndOptSound::GetRangeSlider(DWORD dwWndId, int &nStep, CPoint point)
{
	LPWNDCTRL lpWndCtrl = GetWndCtrl( dwWndId );	
	int nWidth = lpWndCtrl->rect.right - lpWndCtrl->rect.left;
	
	if( point.x > lpWndCtrl->rect.left+GetStepPos( nStep, nWidth, MAX_SLIDER ).x )
		nStep += 1;//nWidth / 10;
	if( point.x < lpWndCtrl->rect.left+GetStepPos( nStep, nWidth, MAX_SLIDER ).x )
		nStep -= 1;//nWidth / 10;
	
	if( nStep < 0 )
		nStep = 0;
	
	if( nStep > MAX_SLIDER )
		nStep = MAX_SLIDER;
}
コード例 #18
0
void CWndAwakening::OnLButtonDblClk( UINT nFlags, CPoint point )
{
	if(!m_pItemElem) return;
	CRect rect;
	LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_STATIC1 );
	rect = wndCtrl->rect;
	if( rect.PtInRect( point ) )
	{
		m_pItemElem->SetExtra(0);
		CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BUTTON1);
		pButton->EnableWindow(FALSE);
		m_pItemElem = NULL;
		m_pEItemProp = NULL;
		m_pTexture	= NULL;
	}
}
コード例 #19
0
ファイル: WndOption.cpp プロジェクト: domz1/SourceFlyFF
void CWndOptVideo::GetRangeSlider(DWORD dwWndId, int &nStep, CPoint point, int nDivision)
{
	LPWNDCTRL lpWndCtrl = GetWndCtrl( dwWndId );	
	int nWidth = lpWndCtrl->rect.right - lpWndCtrl->rect.left;
	
	if( point.x > lpWndCtrl->rect.left+GetStepPos( nStep, nWidth, nDivision ).x )
		nStep += 1;//nWidth / 10;
	if( point.x < lpWndCtrl->rect.left+GetStepPos( nStep, nWidth, nDivision ).x )
		nStep -= 1;//nWidth / 10;
	
	if( nStep < 0 )
		nStep = 0;
	
	if( nStep > nDivision )
		nStep = nDivision;
}
コード例 #20
0
ファイル: WndBank.cpp プロジェクト: careysky/FlyFF
void CWndBank::OnDraw( C2DRender* p2DRender ) 
{ 
	int     nIndex[3] = { WIDC_CUSTOM4, WIDC_CUSTOM5, WIDC_CUSTOM6 };
	CString str;
	
	for( int i = 0 ; i < 3 ; ++i )
	{
		str.Format( _T( "%d" ),g_pPlayer->m_dwGoldBank[i] );
		pCost[i]->SetTitle( str );	
		
		if( bUse[i] == FALSE )
		{
			LPWNDCTRL lpWndCtrl = GetWndCtrl( nIndex[i] );
			m_pTexture->Render( p2DRender, lpWndCtrl->rect.TopLeft(), 50 );
		}
	}
	
	
	
} 
コード例 #21
0
BOOL CWndAwakening::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{
	CItemElem* pTempElem;
	pTempElem  = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );

	int nRandomOptionKind	= g_xRandomOptionProperty->GetRandomOptionKind( pTempElem );
	if( nRandomOptionKind  != CRandomOptionProperty::eAwakening )
	{
		// 적절한 대상이 아닙니다.
		//g_WndMng.PutString( prj.GetText( TID_GAME_INVALID_TARGET_ITEM ), NULL, prj.GetTextColor( TID_GAME_INVALID_TARGET_ITEM  ) );
		g_WndMng.OpenMessageBox( prj.GetText( TID_GAME_INVALID_TARGET_ITEM ) );
		return FALSE;
	}
	if( g_xRandomOptionProperty->GetRandomOptionSize( pTempElem->GetRandomOptItemId() ) > 0 )
	{
		// 이미 각성된 아이템입니다.
		//g_WndMng.PutString( prj.GetText( TID_GAME_AWAKE_OR_BLESSEDNESS01 ), NULL, prj.GetTextColor( TID_GAME_AWAKE_OR_BLESSEDNESS01  ) );
		g_WndMng.OpenMessageBox( prj.GetText( TID_GAME_AWAKE_OR_BLESSEDNESS01 ) );
		return FALSE;
	}
	
	if(pTempElem != NULL)
	{
		if(m_pItemElem) m_pItemElem->SetExtra(0);
		m_pItemElem = pTempElem;
		m_pEItemProp = m_pItemElem->GetProp();
		m_pItemElem->SetExtra(m_pItemElem->GetExtra()+1);
		CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BUTTON1);
		pButton->EnableWindow(TRUE);
		
		LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_STATIC1 );
		if(m_pEItemProp != NULL)
		{
			m_pTexture = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ITEM, m_pEItemProp->szIcon), 0xffff00ff );
		}
	}

	return TRUE;

}
コード例 #22
0
void CWndGuildMerit::OnInitialUpdate() 
{ 
	CWndNeuz::OnInitialUpdate(); 
	// 여기에 코딩하세요
	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_LISTBOX1 );
	
	m_wndctrlMerit.Create( WLVS_ICON | WBS_NODRAWFRAME, lpWndCtrl->rect, this, 100 );
	
	
	// 윈도를 중앙으로 옮기는 부분.
	CRect rectRoot = m_pWndRoot->GetLayoutRect();
	CRect rectWindow = GetWindowRect();
	CPoint point( rectRoot.right - rectWindow.Width(), 110 );
	Move( point );
	MoveParentCenter();

	TCHAR szNumber[ 64 ];
	CWndEdit* pWndEdit = (CWndEdit*)GetDlgItem( WIDC_EDIT1 );
	
	_itot( 0, szNumber, 10 );
	pWndEdit->SetString( szNumber );
	pWndEdit->SetFocus();
} 
コード例 #23
0
void CCollectingWnd::OnInitialUpdate() 
{ 
	CWndNeuz::OnInitialUpdate(); 
#if __VER >= 11 // __SYS_COLLECTING
	// 여기에 코딩하세요
	if(!g_pPlayer) return;
	CItemElem* pCollector = g_pPlayer->GetCollector();

	if(pCollector)
	{
		char		szTemp[64];
		//CWndStatic* pBettery = (CWndStatic*)GetDlgItem( WIDC_STATIC5 );
		CWndStatic* pLevel   = (CWndStatic*)GetDlgItem( WIDC_STATIC3 );
		CWndStatic* pPic1    = (CWndStatic*)GetDlgItem( WIDC_PIC1 );
		CWndStatic* pPic2    = (CWndStatic*)GetDlgItem( WIDC_PIC2 );
		LPWNDCTRL lpWndCtrl1 	= GetWndCtrl( WIDC_STATIC1 );
		LPWNDCTRL lpWndCtrl2 	= GetWndCtrl( WIDC_STATIC2 );
		LPWNDCTRL	lpGauge		= GetWndCtrl( WIDC_GAUGE );
		CRect 		rect		= GetClientRect();
		CRect 		rectTemp;
		int 		nWidthClient= lpGauge->rect.Width();
		int			nMax		= CCollectingProperty::GetInstance()->GetMaxBattery();
		int			nRatio		= pCollector->m_nHitPoint / nMax; 
		int			nWidth		= nWidthClient * nRatio;
		int			nBtryRemain = pCollector->m_nHitPoint;

		if(nBtryRemain < 0)  nBtryRemain = 0;
		m_BetteryRect	= lpWndCtrl1->rect;
		m_LevelRect		= lpWndCtrl2->rect;
		
		if(!m_pVBGauge)
			m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBGauge, NULL );

		m_pTexGauEmptyNormal = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_THEME, "GauEmptyNormal.bmp" ), 0xffff00ff );
		m_pTexGauFillNormal  = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_THEME, "GauEmptyNormal.bmp" ), 0xffff00ff );
		/*m_texGauEmptyNormal.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "GauEmptyNormal.bmp" ), 0xffff00ff, TRUE );
		m_texGauEmptySmall.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "GauEmptySmall.bmp" ), 0xffff00ff, TRUE );
		m_texGauFillNormal.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "GauEmptyNormal.bmp" ), 0xffff00ff, TRUE );
		m_texGauFillSmall.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "GauEmptySmall.bmp" ), 0xffff00ff, TRUE );
		*/
		wsprintf(m_pbufText, "%d / %d (%d%%)", nBtryRemain, nMax, nRatio * 100);
		
		m_nGWidth = nWidth;
		rect = lpGauge->rect;
		rectTemp = rect; 
		rectTemp.right = rectTemp.left + nWidth;
		ClientToScreen( rectTemp );
		//m_bVBGauge = m_pTheme->MakeGaugeVertex( m_pApp->m_pd3dDevice, &rect, 0x640010ff, m_pVBGauge, m_pTexGauFillNormal );

		memset(szTemp, 0, 64);
		sprintf(szTemp, "%d  /  5", pCollector->GetAbilityOption());
		pLevel->SetTitle(szTemp);
		m_pTexBatt  = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ICON, _T( "Icon_ColBattery.tga" )), 0xffff00ff );
		m_pTexLevel = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, MakePath( DIR_ICON, _T( "Icon_ColLevel.tga" )), 0xffff00ff );
		
		/*
		if(!m_pModel) m_pModel = new CModelObject;
		m_pModel = (CModelObject*)prj.m_modelMng.LoadModel( g_Neuz.m_pd3dDevice, OT_ITEM, pCollector->m_dwItemId );
		m_pModel->InitDeviceObjects( g_Neuz.GetDevice() );*/
	}

	// 윈도를 중앙으로 옮기는 부분.
	CRect rectRoot = m_pWndRoot->GetLayoutRect();
	CRect rectWindow = GetWindowRect();
	CPoint point( rectRoot.right - rectWindow.Width(), 110 );
	Move( point );
	
#endif
} 
コード例 #24
0
ファイル: WndCommunication.cpp プロジェクト: careysky/FlyFF
void CWndChat::OnInitialUpdate()
{
	CWndNeuz::OnInitialUpdate();

#ifdef __CHAT_V19
	CWndButton* pWndLock = (CWndButton*)GetDlgItem( WIDC_CHECK1 );
	CWndButton* pWndLog = (CWndButton*)GetDlgItem( WIDC_CHECK3 );
	CWndButton* pWndMoveLock = (CWndButton*)GetDlgItem( WIDC_MOVELOCK );
	CWndButton* pWndHelp = (CWndButton*)GetDlgItem( WIDC_HELP );
	CWndButton* pWndCheck = (CWndButton*)GetDlgItem( WIDC_RADIO6 );
	pWndLock->SetVisible( false );
	pWndLog->SetVisible( true );
	pWndMoveLock->SetVisible( false );
	pWndHelp->SetVisible( false );
	pWndCheck->SetVisible(false);
#endif //__CHAT_V19

	//AddWndStyle( WBS_THICKFRAME );

	m_timerDobe.Set( SEC( 5 ) );

	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_MACRO_CHAT );
	LPWNDCTRL lpWndText = GetWndCtrl( WIDC_CUSTOM1 );
	m_wndMacroChat.Create( "g", WBS_NODRAWFRAME, lpWndCtrl->rect, this, WIDC_MACRO_CHAT );
	m_wndMacroChat.AddWndStyle( WBS_NODRAWFRAME );

	lpWndCtrl = GetWndCtrl( WIDC_EDIT );
	m_wndEdit.Create( g_Neuz.GetSafeHwnd(), WBS_NODRAWFRAME, lpWndCtrl->rect, this, WIDC_EDIT );
	m_wndText.Create( WBS_NOFRAME | WBS_NODRAWFRAME | WBS_VSCROLL, lpWndText->rect, this, WIDC_TEXT );
	CWndText* pWndText = (CWndText*)GetDlgItem( WIDC_TEXT );
	CWndEdit* pWndHead = (CWndEdit*)GetDlgItem( WIDC_HEAD );
	CWndEdit* pWndEdit = (CWndEdit*)GetDlgItem( WIDC_EDIT );

	if( g_pPlayer->IsAuthHigher( AUTH_GAMEMASTER ) )
	{
		pWndText->m_bEnableClipboard = TRUE;
		pWndHead->m_bEnableClipboard = TRUE;
		pWndEdit->m_bEnableClipboard = TRUE;
	}
	pWndEdit->SetNativeMode();

#if __VER >= 11 // __CSC_VER11_1
	CRect rectEdit = m_wndEdit.GetWndRect();
	rectEdit.left = rectEdit.left - 90;
	m_wndEdit.SetWndRect( rectEdit );

	CRect customRect = lpWndCtrl->rect;
	CWndCustom* pCustom = (CWndCustom*)GetDlgItem(WIDC_MACRO_CHAT);
	if(pCustom)
#ifdef __CHAT_V19
		pCustom->Move(customRect.TopLeft().x - 112, customRect.TopLeft().y - 2);
#else
		pCustom->Move(customRect.TopLeft().x - 119, customRect.TopLeft().y);
		pWndEdit->Move(customRect.TopLeft().x + 105, customRect.bottom + 30);
#endif //__CHAT_V19
	if(pWndHead)
	{
		pWndHead->EnableWindow(FALSE);
		pWndHead->SetVisible(FALSE);
	}
#endif //__CSC_VER11_1
	if( g_Option.m_nInstantHelp )
	{
		CScript	s;
		s.Load( MakePath( DIR_CLIENT, "InstantHelp.inc" ) );
		s.GetToken();
		while( s.tok != FINISHED )
		{
			m_strArray.Add( s.Token );
			s.GetToken();
		}
	}
	//m_strArray.

/*
	CRect rect = GetClientRect();
	rect.top = rect.bottom - 20;
	rect.right = 70;
	rect.left += 5;
	rect.DeflateRect( 1, 1 );
	m_wndBeginning.Create( g_Neuz.GetSafeHwnd(), WBS_NODRAWFRAME, rect, this, 1000);

	rect = GetClientRect();
	rect.top = rect.bottom - 20;
	rect.left = 75;
	rect.right -= 134;
	rect.DeflateRect( 1, 1 );
	//rect.left = rect.Width() * 20 / 100;
	//m_wndEdit.AddWndStyle( WBS_NODRAWFRAME );
	m_wndEdit.Create( g_Neuz.GetSafeHwnd(), WBS_NODRAWFRAME, rect, this, 1001 );
*/
//	m_texEdit.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "WndChat2.bmp" ), 0xffff00ff, TRUE );
/*
	rect = GetClientRect();
	rect.top = rect.bottom - 20;
	rect.left = rect.right - 134;
	rect.right = r mnnnnft + 15;
	rect.DeflateRect( 1, 1 );
	m_wndShout.Create( " ", 0, rect, this, 1010 );

	rect = GetClientRect();
	rect.top = rect.bottom - 20;
	rect.left = rect.right - 117;
	rect.right = rect.left + 15;
	rect.DeflateRect( 1, 1 );
	m_wndParty.Create( " ", 0, rect, this, 1011 );
*/

/*
	m_wndText.AddWndStyle( WBS_VSCROLL );
	m_wndText.AddWndStyle( WBS_NOFRAME );
	m_wndText.AddWndStyle( WBS_NODRAWFRAME );
	m_wndText.Create( 0, rect, this, 1003 ); 
	m_wndText.SetFont( g_Neuz.m_Theme.m_pFontChat );
	m_wndText.m_string.Reset( m_pFont, &rect);
*/
/*
	rect = GetClientRect();
	rect.left = rect.right - 100;
	//rect.bottom -= 80;
	rect.DeflateRect( 1, 1 );
	m_wndReceiver.AddWndStyle( WBS_VSCROLL );
	m_wndReceiver.AddWndStyle( WBS_NOFRAME );
	m_wndReceiver.Create( EBS_AUTOVSCROLL, rect, this, 1002 );
	m_wndReceiver.AddString( "Vampyre\n" );
	m_wndReceiver.AddString( "Xuzhu\n" );
	m_wndReceiver.AddString( "Zodiacus\n" );
	m_wndReceiver.AddString( "Jeff\n" );
	m_wndReceiver.m_string.Reset( m_pFont, &rect);
*/

	//CWndText* pWndText = (CWndText*)GetDlgItem( WIDC_TEXT );
	SetChannel();
	CWndButton* pWndRadio1 = (CWndButton*)GetDlgItem( WIDC_RADIO1 );
	CWndButton* pWndRadio2 = (CWndButton*)GetDlgItem( WIDC_RADIO2 );
	CWndButton* pWndRadio3 = (CWndButton*)GetDlgItem( WIDC_RADIO3 );
	CWndButton* pWndRadio4 = (CWndButton*)GetDlgItem( WIDC_RADIO4 );
	CWndButton* pWndRadio5 = (CWndButton*)GetDlgItem( WIDC_RADIO5 );
	if( m_nChatChannel == CHATSTY_GENERAL ) pWndRadio1->SetCheck( TRUE );	else
	if( m_nChatChannel == CHATSTY_WHISPER ) pWndRadio2->SetCheck( TRUE );	else
	if( m_nChatChannel == CHATSTY_SHOUT   ) pWndRadio3->SetCheck( TRUE );	else
	if( m_nChatChannel == CHATSTY_PARTY   ) pWndRadio4->SetCheck( TRUE );	else
	if( m_nChatChannel == CHATSTY_GUILD   ) pWndRadio5->SetCheck( TRUE );
	//pWndText->m_string.Init(
	//pWndText->m_string = g_WndMng.m_ChatString;
	pWndText->m_nLineSpace = 2;
	//pWndText->m_string.Reset( m_pFont, &pWndText->GetClientRect() );
	
	//pWndText->
	/*
	CRect rect = GetClientRect();
	rect.bottom -= 20;
	rect.right -= 0;//100;
	rect.DeflateRect( 1, 1);
	m_wndText.SetWndRect( rect );
*/
	//LPBYTE m_wndChatEdit[3];
	//CSize sizeWndChatEdit[3];
#if __VER >= 11 // __CSC_VER11_1
	LoadTGA( MakePath( DIR_THEME, "WndChatEdit00_1.tga" ), &m_wndChatEdit[0] );
#else //__CSC_VER11_1
	LoadTGA( MakePath( DIR_THEME, "WndChatEdit00.tga" ), &m_wndChatEdit[0] );
#endif //__CSC_VER11_1
	LoadTGA( MakePath( DIR_THEME, "WndChatEdit01.tga" ), &m_wndChatEdit[1] );
#ifdef __LANG_IME_0327
	LoadTGA( MakePath( DIR_THEME,  ::GetLanguage(), "WndChatEdit02.tga" ), &m_wndChatEdit[2] );
#else	// __LANG_IME_0327
	LoadTGA( MakePath( DIR_THEME, "WndChatEdit02.tga" ), &m_wndChatEdit[2] );
#endif	// __LANG_IME_0327

	if( m_wndChatEdit[2].lpData == NULL )
	{
		Error( "CWndChat::OnInitialUpdate() m_wndChatEdit[2].lpData = NULL" );
		return;
	}
/*
	CRect rectRoot = m_pWndRoot->GetLayoutRect();
	CRect rectWindow = GetWindowRect();
	CPoint point( 154, rectRoot.bottom - rectWindow.Height() );
	Move( point );
*/
#ifndef __CHAT_V19
	CWndButton* pWndLock = (CWndButton*)GetDlgItem( WIDC_CHECK1 );
	pWndLock->SetCheck( m_bChatLock );
	CWndButton* pWndMoveLock = (CWndButton*)GetDlgItem( WIDC_MOVELOCK );
	pWndMoveLock->SetCheck( m_bMoveLock );
#endif //__CHAT_V19
	CRect rectRoot = m_pWndRoot->GetLayoutRect();
	CRect rect = GetWindowRect();
	int nWidth  = rect.Width(); 
	int nHeight = rect.Height(); 
	int x = 0;//rectRoot.left + (rectRoot.Width()  / 2) - (nWidth  / 2);
	int y = rectRoot.bottom - nHeight;	
	CPoint point( x, y );
	Move( point );

	m_timerInputTimeOut.Set( SEC( 300 ) );

#if __VER >= 8 //__Y_CHAT_SYSTEM_8
	if( g_WndMng.m_pWndChatLog == NULL )
	{
		g_WndMng.m_pWndChatLog = new CWndChatLog;
		
		if( g_WndMng.m_pWndChatLog )
		{
			g_WndMng.m_pWndChatLog->Initialize( NULL, APP_CHAT_LOG );
			
			CRect rectRoot = m_pWndRoot->GetLayoutRect();
			CRect rect = GetWindowRect(TRUE);
			CRect rect2 = g_WndMng.m_pWndChatLog->GetClientRect(TRUE);
			
			int x = 0;
			int y = rect.top;
			
			if( (rect.right+rect2.Width()) < rectRoot.right )
				x = rect.right;
			else
				x = (rect.left - rect2.Width() );
			
			CPoint point( x, y );
			g_WndMng.m_pWndChatLog->Move( point );

			g_WndMng.m_pWndChatLog->SetVisible(FALSE);
		}
	}

	if( g_WndMng.m_pWndChatLog )
	{
		CWndButton* pWndCheck3  = (CWndButton*)GetDlgItem( WIDC_CHECK3 );
		if( pWndCheck3 )
			pWndCheck3->SetCheck(g_WndMng.m_pWndChatLog->m_bVisible);
	}
#endif //__Y_CHAT_SYSTEM_8
}
コード例 #25
0
ファイル: WndDialog.cpp プロジェクト: iceberry/flyffsf
// 하얀색 대화영역에 나오는 버튼 
// AddAnswer로 추가 
void CWndDialog::MakeAnswerButton()
{
	m_bWordButtonEnable = FALSE;
	if( m_nCurArray == m_strArray.GetSize() - 1 )
	{
		DWORD dwMaxHeight = m_pFont->GetMaxHeight() + 6;
		LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
		
		int yBegin = lpWndCtrl->rect.top + m_string.GetLineCount() * dwMaxHeight + dwMaxHeight;
		int x = 0, y = 0;//
		int nButtonNum = 0;
		int i; for( i = 0; i < m_nWordButtonNum; i++ )
		{
			WORDBUTTON* pWordButton = &m_aWordButton[ i ];
			if( strcmp( pWordButton->szWord, "__YES__" ) == 0 )
			{ nButtonNum++; continue; }
			if( strcmp( pWordButton->szWord, "__NO__" ) == 0 )
			{ nButtonNum++; continue; }
			if( strcmp( pWordButton->szWord, "__CANCEL__" ) == 0 )
			{ nButtonNum++; continue; }
			if( strcmp( pWordButton->szWord, "__OK__" ) == 0 )
			{ nButtonNum++; continue; }

			CSize size = m_pFont->GetTextExtent( pWordButton->szWord );
			size.cx += 10;

			pWordButton->rect = CRect( lpWndCtrl->rect.left + x, yBegin + y * dwMaxHeight, 
				lpWndCtrl->rect.left + x + size.cx, yBegin + y * size.cy + dwMaxHeight );
			if( pWordButton->rect.right > lpWndCtrl->rect.right )
			{
				x = 0, y++;
				//pWordButton->rect = CRect( lpWndCtrl->rect.left + x * size.cx, lpWndCtrl->rect.top + y * dwMaxHeight, 
				//	lpWndCtrl->rect.left + x * size.cx + size.cx, lpWndCtrl->rect.top + y * size.cy + dwMaxHeight );

				pWordButton->rect = CRect( lpWndCtrl->rect.left + x, yBegin + y * dwMaxHeight, 
					lpWndCtrl->rect.left + x + size.cx, yBegin + y * size.cy + dwMaxHeight );

			}				
			x += size.cx;
		}
		x = lpWndCtrl->rect.left + ( lpWndCtrl->rect.Width() / 2 ) - ( ( 90 * nButtonNum ) / 2 );
		CRect rect;
		CString strTexture;
		int nWndId = 0;
		int j = 0;
		for( i = 0; i < 6; i++ )
			SAFE_DELETE( m_apWndAnswer[ i ] )
		for( i = 0; i < m_nWordButtonNum; i++ )
		{
			WORDBUTTON* pWordButton = &m_aWordButton[ i ];
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
			rect = CRect( x, lpWndCtrl->rect.bottom - 20, x + 70, lpWndCtrl->rect.bottom + 10 );
#else // __IMPROVE_QUEST_INTERFACE
			rect = CRect( x, lpWndCtrl->rect.bottom - 10, x + 70, lpWndCtrl->rect.bottom + 10 );
#endif // __IMPROVE_QUEST_INTERFACE
			if( strcmp( pWordButton->szWord, "__YES__" ) == 0 )
			{
				nWndId =  WIDC_YES;
				strTexture = "buttYes.tga";
			}
			else
			if( strcmp( pWordButton->szWord, "__NO__" ) == 0 )
			{
				nWndId =  WIDC_NO;
				strTexture = "buttNo.tga";
			}
			else
			if( strcmp( pWordButton->szWord, "__CANCEL__" ) == 0 )
			{
				nWndId =  WIDC_CANCEL;
				strTexture = "buttCancel.tga";
			}
			else
			if( strcmp( pWordButton->szWord, "__OK__" ) == 0 )
			{
				nWndId =  WIDC_OK;
				strTexture = "buttOk.tga";
			}
			if(	nWndId )
			{
				m_apWndAnswer[ j ] = new CWndAnswer;
				m_apWndAnswer[ j ]->Create( "", WBS_CHILD, rect, this, nWndId );
				m_apWndAnswer[ j ]->SetTexture( D3DDEVICE, MakePath( DIR_THEME, strTexture ), 1 );
				m_apWndAnswer[ j ]->FitTextureSize();
				m_apWndAnswer[ j ]->m_pWordButton = (WORDBUTTON*)	pWordButton;
				j++;
			}
			x += 90;
		}

		m_bWordButtonEnable = TRUE;
	}
コード例 #26
0
ファイル: WndOption.cpp プロジェクト: domz1/SourceFlyFF
void CWndOptVideo::OnDraw( C2DRender* p2DRender ) 
{ 
	CPoint pt;
#ifdef __SFX_OPT
	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM2 );
	CPoint pt1 = lpWndCtrl->rect.TopLeft();
	CPoint pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	p2DRender->RenderFillRect( lpWndCtrl->rect, 0);	
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[0], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 5 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
	
	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM3 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[1], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 1 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
#else
	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM2 );
	CPoint pt1 = lpWndCtrl->rect.TopLeft();
	CPoint pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	p2DRender->RenderFillRect( lpWndCtrl->rect, 0);	
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[0], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
	
	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM3 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[1], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
#endif
#if __VER >= 8 //__Y_GAMMA_CONTROL_8
	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[2], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	//m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );

	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM4 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[3], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	//m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );

	lpWndCtrl = GetWndCtrl( WIDC_CUSTOM5 );
	pt1 = lpWndCtrl->rect.TopLeft();
	pt2 = lpWndCtrl->rect.BottomRight() - lpWndCtrl->rect.TopLeft();
	m_Texture.Render( p2DRender, pt1, pt2 );
	pt = pt1;
	pt.x += GetStepPos( m_nStep[4], lpWndCtrl->rect.right - lpWndCtrl->rect.left, 10 ).x;
	//m_TexturePt.Render( p2DRender, pt, CPoint( 16, 16 ) );
#endif //__Y_GAMMA_CONTROL_8


} 
コード例 #27
0
ファイル: WndGuildBank.cpp プロジェクト: careysky/FlyFF
void CWndGuildBank::OnInitialUpdate() 
{ 
	CWndNeuz::OnInitialUpdate(); 
	// 여기에 코딩하세요
#if __VER >= 11 // __SYS_POCKET
	if(GetWndBase( APP_BAG_EX )) GetWndBase( APP_BAG_EX )->Destroy();
#endif
	if( g_WndMng.m_pWndTrade || g_WndMng.m_pWndShop || g_WndMng.m_pWndBank || g_WndMng.GetWndVendorBase() )
	{
		Destroy();
		return;
	}

	
	CWndStatic* pCost = (CWndStatic*) GetDlgItem( WIDC_GUILDBANK_NUM );
	pCost->AddWndStyle(WSS_MONEY);

	CWndTabCtrl* pTabCtrl = reinterpret_cast<CWndTabCtrl*>(GetDlgItem(WIDC_TABCTRL1));
	
	m_wndItemCtrl.Create( WLVS_ICON, CRect( 0, 0, 250, 250 ), pTabCtrl, 11 );
	m_wndItemCtrl.InitItem( &g_pPlayer->GetGuild()->m_GuildBank, APP_GUILD_BANK );

	WTCITEM tabTabItem;
	
	tabTabItem.mask = WTCIF_TEXT | WTCIF_PARAM;
	tabTabItem.pszText = prj.GetText(TID_GAME_ITEM);//"아이템";
	tabTabItem.pWndBase = &m_wndItemCtrl;
	pTabCtrl->InsertItem( 0, &tabTabItem );
	
	LPWNDCTRL lpWndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
	m_wndGold.Create( "g", WBS_NODRAWFRAME, lpWndCtrl->rect, this, WIDC_CUSTOM1 );
	m_wndGold.AddWndStyle( WBS_NODRAWFRAME );

	CGuild *pGuild = g_pPlayer->GetGuild();
	if( pGuild )
	{
		if(	pGuild->IsMaster( g_pPlayer->m_idPlayer ) == FALSE )	// 길마가 아니면 
		{
			CWndButton* pWndButt = (CWndButton*)GetDlgItem(WIDC_BUTTON2);	// 망토제작 버튼을 disable 시킨다.
			pWndButt->EnableWindow( FALSE );
		}
	}


#ifdef __GLDISABLE
	CWndButton* pWndButt = (CWndButton*)GetDlgItem(WIDC_BUTTON1);
	pWndButt->EnableWindow( FALSE );
#endif	

	CWndInventory* pWndInventory = (CWndInventory*)GetWndBase( APP_INVENTORY );
	CRect rectInventory = pWndInventory->GetWindowRect( TRUE );
	CPoint ptInventory = rectInventory.TopLeft();
	CPoint ptMove;
	
	CRect rect = GetWindowRect( TRUE );
	
	if( ptInventory.x > rect.Width() / 2 )
		ptMove = ptInventory - CPoint( rect.Width(), 0 );
	else
		ptMove = ptInventory + CPoint( rectInventory.Width(), 0 );
	
	Move( ptMove );

	if( pGuild )
	{
		CWndButton* pWndButt = (CWndButton*)GetDlgItem(WIDC_BUTTON3);

#if __VER >= 8 // __GUILDCOMBAT_85
		pWndButt->EnableWindow(FALSE);
		pWndButt->SetVisible(FALSE);
#else // __VER >= 8
		if( g_GuildCombatMng.m_uWinGuildId == pGuild->GetGuildId()  )
			pWndButt->EnableWindow(TRUE);
		else
			pWndButt->EnableWindow(FALSE);
#endif // __VER >= 8
	}

#if __VER >= 11 // __GUILD_BANK_LOG
	CWndButton* pWndButtLog = (CWndButton*)GetDlgItem(WIDC_LOG);
	pWndButtLog->EnableWindow(TRUE);
	pWndButtLog->SetVisible(TRUE);
#else //__GUILD_BANK_LOG
	//CWndButton* pWndButtLog = (CWndButton*)GetDlgItem(WIDC_LOG);
	//pWndButtLog->EnableWindow(FALSE);
	//pWndButtLog->SetVisible(FALSE);
#endif //__GUILD_BANK_LOG
} 
コード例 #28
0
void CWndChangeSex::OnDraw( C2DRender* p2DRender ) 
{ 
	if( g_pPlayer == NULL  )
		return;

	LPDIRECT3DDEVICE9 pd3dDevice = p2DRender->m_pd3dDevice;

	pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
	pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
	pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW );
	pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );
	pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID );
	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );

	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
	pd3dDevice->SetSamplerState ( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
	pd3dDevice->SetSamplerState ( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );

	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );

	pd3dDevice->SetRenderState( D3DRS_AMBIENT,  D3DCOLOR_ARGB( 255, 255,255,255) );
	
	CRect rect = GetClientRect();

	// 뷰포트 세팅 
	D3DVIEWPORT9 viewport;

	// 월드 
	D3DXMATRIXA16 matWorld;
	D3DXMATRIXA16 matScale;
	D3DXMATRIXA16 matRot;
	D3DXMATRIXA16 matTrans;

	// 카메라 
	D3DXMATRIX  matView;
	D3DXVECTOR3 vecLookAt( 0.0f, 0.0f, 3.0f );
	D3DXVECTOR3 vecPos(  0.0f, 0.7f, -3.5f );
	
	D3DXMatrixLookAtLH( &matView, &vecPos, &vecLookAt, &D3DXVECTOR3(0.0f,1.0f,0.0f) );
	
	pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
	
	// 왼쪽 원본 모델 랜더링
	{
		LPWNDCTRL lpFace = GetWndCtrl( WIDC_STATIC1 );

		viewport.X      = p2DRender->m_ptOrigin.x + lpFace->rect.left;//2;
		viewport.X     -= 6;
		viewport.Y      = p2DRender->m_ptOrigin.y + lpFace->rect.top;//5;
		viewport.Width  = lpFace->rect.Width();//p2DRender->m_clipRect.Width();
		viewport.Height = lpFace->rect.Height();// - 10;//p2DRender->m_clipRect.Height();

		viewport.MinZ   = 0.0f;
		viewport.MaxZ   = 1.0f;
		pd3dDevice->SetViewport(&viewport);
		pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, 0xffa08080, 1.0f, 0 ) ;

		D3DXMATRIX matProj;
		D3DXMatrixIdentity( &matProj );
		FLOAT fAspect = ((FLOAT)viewport.Width) / (FLOAT)viewport.Height;
/*		
		D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4.0f, fAspect, CWorld::m_fNearPlane - 0.01f, CWorld::m_fFarPlane );
		pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
*/		
		FLOAT fov = D3DX_PI/4.0f;//796.0f;
		FLOAT h = cos(fov/2) / sin(fov/2);
		FLOAT w = h * fAspect;
		D3DXMatrixOrthoLH( &matProj, w, h, CWorld::m_fNearPlane - 0.01f, CWorld::m_fFarPlane );
		pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
		
	    D3DXMatrixIdentity(&matScale);
		D3DXMatrixIdentity(&matTrans);
		D3DXMatrixIdentity(&matWorld);
		
		D3DXMatrixScaling(&matScale, 4.5f, 4.5f, 4.5f);
		
		if( g_pPlayer->GetSex() == SEX_MALE )
			D3DXMatrixTranslation(&matTrans,0.0f,-5.6f,0.0f);
		else
			D3DXMatrixTranslation(&matTrans,0.0f,-5.8f,0.0f);

		D3DXMatrixMultiply(&matWorld,&matWorld,&matScale);
		D3DXMatrixMultiply(&matWorld, &matWorld, &matTrans );
		pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );

		// 랜더링 
		pd3dDevice->SetRenderState( D3DRS_FOGENABLE, FALSE );
		pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );//m_bViewLight );
		
		::SetLight( FALSE );
		::SetFog( FALSE );
		SetDiffuse( 1.0f, 1.0f, 1.0f );
		SetAmbient( 1.0f, 1.0f, 1.0f );
/*
		m_pModel->GetObject3D(PARTS_HAIR)->m_fAmbient[0] = 0.5f;
		m_pModel->GetObject3D(PARTS_HAIR)->m_fAmbient[1] = 0.5f;
		m_pModel->GetObject3D(PARTS_HAIR)->m_fAmbient[2] = 0.5f;
*/		
		D3DXVECTOR4 vConst( 1.0f, 1.0f, 1.0f, 1.0f );
#ifdef __YENV
		D3DXVECTOR3 vDir( 0.0f, 0.0f, 1.0f );
		SetLightVec( vDir );
		
		g_Neuz.m_pEffect->SetVector( g_Neuz.m_hvFog, &vConst );
#else //__YENV						
		pd3dDevice->SetVertexShaderConstantF( 95, (float*)&vConst, 1 );
#endif //__YENV
		::SetTransformView( matView );
		::SetTransformProj( matProj );
				
		m_pModel->Render( p2DRender->m_pd3dDevice, &matWorld );
	}
} 
コード例 #29
0
void CCollectingWnd::OnDraw( C2DRender* p2DRender ) 
{ 
#if __VER >= 11 // __SYS_COLLECTING
	//if( m_pElem == NULL)
	//return;
    if(!g_pPlayer) return;
	LPWNDCTRL wndCtrlPic1 = GetWndCtrl( WIDC_PIC1 );
	LPWNDCTRL wndCtrlPic2 = GetWndCtrl( WIDC_PIC2 );

	if(m_pTexBatt)
	{
		m_pTexBatt->Render(p2DRender, wndCtrlPic2->rect.TopLeft());
	}
	if(m_pTexLevel)
	{
		m_pTexLevel->Render(p2DRender, wndCtrlPic1->rect.TopLeft());
	}

	CItemElem* pCollector = g_pPlayer->GetCollector();

	if(pCollector)
	{
		LPWNDCTRL	lpGauge   = GetWndCtrl( WIDC_GAUGE );
		CRect 		rect = GetClientRect();
		CRect 		rectTemp;
		int 		nWidthClient = lpGauge->rect.Width();
		int 		nWidth;
		int			nMax = CCollectingProperty::GetInstance()->GetMaxBattery();
		float		fRatio = (float)pCollector->m_nHitPoint / (float)nMax; 
		int			nBtryRemain = pCollector->m_nHitPoint;

		if(nBtryRemain < 0)  nBtryRemain = 0;

		nWidth = (int)( nWidthClient * fRatio );
		wsprintf(m_pbufText, "%d / %d (%d%%)", nBtryRemain, nMax, (int)(fRatio * 100));

		m_nGWidth = nWidth;
		if(m_nGWidth >= 2)
		{
			rect = lpGauge->rect;
			rectTemp = rect; 
			rectTemp.right = rectTemp.left + nWidth;
			ClientToScreen( rectTemp );
			//m_pTheme->MakeGaugeVertex( m_pApp->m_pd3dDevice, &rect, D3DCOLOR_ARGB( 200, 255, 255, 255 ), m_pVBGauge, m_pTexGauFillNormal );
			//m_pTheme->RenderGauge( p2DRender->m_pd3dDevice, m_pVBGauge, m_pTexGauEmptyNormal );	
			m_pTheme->MakeGaugeVertex( m_pApp->m_pd3dDevice, &rectTemp, D3DCOLOR_ARGB( 128, 0, 0, 255 ), m_pVBGauge, m_pTexGauFillNormal );
			m_pTheme->RenderGauge( p2DRender->m_pd3dDevice, m_pVBGauge, m_pTexGauEmptyNormal );	
		}
	}
	
	

	LPWNDCTRL lpGauge   = GetWndCtrl( WIDC_GAUGE );
	DWORD dwColor = D3DCOLOR_ARGB(255, 0, 0, 255 );
	
	p2DRender->TextOut( lpGauge->rect.left + 5, lpGauge->rect.top, m_pbufText, dwColor, 0x00000000 );
/*
	D3DXMATRIX  matView;
	D3DXMATRIX  matWorld;
	D3DXMATRIX  matScale;
	D3DXMATRIX  matRot;
	D3DXMATRIX  matTrans;
	D3DXVECTOR3 vecPos;
	D3DXVECTOR3 vecLookAt;
	float		fScale	= 1.5f;
	D3DXVECTOR3 vSrc, vLocal	= D3DXVECTOR3( 0, 0, 0 );
				

	CPoint point	= CPoint( GetWndCtrl( WIDC_CUSTOM1 )->rect.left-12, GetWndCtrl( WIDC_CUSTOM1 )->rect.top-6 );
	CRect rect		= GetClientRect();
	int nWidthClient = GetClientRect().Width() - 110;
	CRect rectTemp;
	LPWNDCTRL lpFace = GetWndCtrl( WIDC_CUSTOM1 );
	LPDIRECT3DDEVICE9 pd3dDevice = p2DRender->m_pd3dDevice;
	// 뷰포트 세팅 
	D3DVIEWPORT9 viewport;

	pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, 0xffa08080, 1.0f, 0 ) ;

	pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
	pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
	pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW );
	pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, FALSE );
	pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID );
	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );

	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
	pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_SELECTARG1 );
	pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );		
	pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );		

	pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );

	

	viewport.X      = p2DRender->m_ptOrigin.x + lpFace->rect.left;
	viewport.Y      = p2DRender->m_ptOrigin.y + lpFace->rect.top;
	viewport.Width  = lpFace->rect.Width();
	viewport.Height = lpFace->rect.Height();
	viewport.MinZ   = 0.0f;
	viewport.MaxZ   = 1.0f;

	pd3dDevice->SetViewport(&viewport);

	// 프로젝션 
	D3DXMATRIX matProj;
	D3DXMatrixIdentity( &matProj );
	FLOAT fAspect = ((FLOAT)viewport.Width) / (FLOAT)viewport.Height;

	FLOAT fov = D3DX_PI/4.0f;
	FLOAT h = cos(fov / 2) / sin(fov / 2);
	FLOAT w = h * fAspect;
	D3DXMatrixOrthoLH( &matProj, w, h, CWorld::m_fNearPlane - 0.01f, CWorld::m_fFarPlane );
	pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );

	D3DXMatrixIdentity(&matWorld);
	D3DXMatrixIdentity(&matRot);
	D3DXMatrixIdentity(&matTrans);
	
	pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
	vecPos.x = 0.0f;
	vecPos.y = 1.5f;
	vecPos.z = -1.5f;

	vecLookAt.x = 0.0f;
	vecLookAt.y = 0.0f;
	vecLookAt.z = 1.0f;
	
	D3DXMatrixLookAtLH( &matView, &vecPos, &vecLookAt, &D3DXVECTOR3(0.0f,1.0f,0.0f) );
	pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
	
	pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );

	// 랜더링 
	pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, TRUE );
	
	pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );
	// CWorld::m_dwBgColor
	pd3dDevice->Clear(0, NULL, D3DCLEAR_ZBUFFER, D3DCOLOR_COLORVALUE(50,50,50,0), 1.0f, 0 ) ;
	pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_COLORVALUE(30,30,30,0), 1.0f, 0 ) ;
		
	::SetTransformView( matView );
	::SetTransformProj( matProj );
	SetDiffuse( 0.0f, 0.0f, 0.0f );
	SetAmbient( 1.0f, 1.0f, 1.0f );

	D3DXMatrixRotationY(&matRot, m_fAngle);
	m_matModel = matRot;
	D3DXMatrixScaling(&matScale, fScale, fScale, fScale);
	D3DXMatrixMultiply(&matWorld,&matWorld,&matScale);
	D3DXMatrixMultiply(&matWorld, &matWorld,&matRot);
	D3DXMatrixMultiply(&matWorld, &matWorld, &matTrans );
*/
/* 이펙트.. 문제가 좀 있어서 요구하기 전까지는 일단 보류
	if(m_pSfx) 
	{
		CMover* pPlayer	= CMover::GetActiveMover();
		D3DXVECTOR3 vAdd, vLeft;
		((CModelObject *)pPlayer->m_pModel)->GetForcePos( &m_pSfx->m_vPos, 0, PARTS_RWEAPON, matWorld);
		D3DXVec3Scale(&vLeft, &D3DXVECTOR3(m_matModel._11, m_matModel._21, m_matModel._31), 1.0f);
		D3DXVec3Normalize(&vLeft, &vLeft);
		D3DXVec3Scale(&vAdd, &vLeft, 0.9f);
		D3DXVec3Add(&m_pSfx->m_vPos, &m_pSfx->m_vPos, &vAdd);
		m_pSfx->m_vPos.y -= 0.2f;
		m_pSfx->m_matScale = matScale;
		m_pSfx->m_vScale  = D3DXVECTOR3(fScale, fScale, fScale);
		m_pSfx->m_vRotate = D3DXVECTOR3(D3DXToDegree(m_fAngle), D3DXToDegree(m_fAngle), D3DXToDegree(m_fAngle));
		if( m_pSfx->Process() )				m_pSfx->m_nCurFrame = 0;
		if( m_pSfx->m_nCurFrame >= 145 )	m_pSfx->m_nCurFrame = 30; 

		m_pSfx->Render(pd3dDevice, &matWorld);
	}
*//*
	matWorld._42 = 0.4f;
	if(m_pModel) m_pModel->Render(pd3dDevice, &matWorld);
	matWorld._42 = 0.0f;

	

	pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE );
	pd3dDevice->SetRenderState( D3DRS_ZWRITEENABLE, FALSE );
	pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );
	pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );
	pd3dDevice->SetRenderState( D3DRS_FOGENABLE, FALSE );
	
	m_fAngle += 0.01f;
	if(m_fAngle > 360.0f)
	m_fAngle -= 360.0f;
*/
#endif
}
コード例 #30
0
ファイル: WndSummonAngel.cpp プロジェクト: domz1/SourceFlyFF
void CWndSummonAngel::OnInitialUpdate() 
{ 
	CWndNeuz::OnInitialUpdate(); 
	// 여기에 코딩하세요
	//Ctrl Initialize.
	m_pText = (CWndText *)GetDlgItem( WIDC_TEXT1 );

	m_pStatic[0] = (CWndStatic *)GetDlgItem( WIDC_STATIC_RED );
	m_pStatic[1] = (CWndStatic *)GetDlgItem( WIDC_STATIC_BLUE );
	m_pStatic[2] = (CWndStatic *)GetDlgItem( WIDC_STATIC_GREEN );
	SummonRateRefresh();
	
	int StaticID[20] = {WIDC_STATIC11, WIDC_STATIC12, WIDC_STATIC13, WIDC_STATIC14, WIDC_STATIC15, WIDC_STATIC16,
						WIDC_STATIC17, WIDC_STATIC18, WIDC_STATIC19, WIDC_STATIC20, WIDC_STATIC21, WIDC_STATIC22,
						WIDC_STATIC23, WIDC_STATIC24, WIDC_STATIC25, WIDC_STATIC26, WIDC_STATIC27, WIDC_STATIC28,
						WIDC_STATIC29, WIDC_STATIC30};

	for(int i=0; i<MAX_MATDIE; i++)
	{
		m_MatDie[i].wndCtrl = GetWndCtrl( StaticID[i] );
		m_MatDie[i].staticNum = StaticID[i];
		m_MatDie[i].isUse = FALSE;
		m_MatDie[i].pItemElem = NULL;
		m_ItemInfo[i].extracount = 0;
		m_ItemInfo[i].itemid = -1;
	}
	
	//Text Setting
	CWndStatic* pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC3 );
	pStatic->SetTitle(prj.GetText(TID_GAME_REDANGEL_RATE));
	pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC4 );
	pStatic->SetTitle(prj.GetText(TID_GAME_BLUEANGEL_RATE));
	pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC5 );
	pStatic->SetTitle(prj.GetText(TID_GAME_GREENANGEL_RATE));

	pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC6 );
	pStatic->SetTitle(prj.GetText(TID_GAME_WHITEANGEL_INFO1));
	pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC1 );
	pStatic->SetTitle(prj.GetText(TID_GAME_WHITEANGEL_INFO2));
	pStatic = (CWndStatic *)GetDlgItem( WIDC_STATIC7 );
	pStatic->SetTitle(prj.GetText(TID_GAME_WHITEANGEL_INFO3));

	//France Button Image
	CWndButton* pButton = (CWndButton*)GetDlgItem( WIDC_START );
	if(::GetLanguage() == LANG_FRE)
		pButton->SetTexture(g_Neuz.m_pd3dDevice, MakePath( "Theme\\", ::GetLanguage(), _T( "ButtNormal00.tga" ) ), TRUE);

	//Window Position
	m_pWndInventory = (CWndInventory*)GetWndBase( APP_INVENTORY );
	CRect rectInventory;
	if(m_pWndInventory != NULL)
	{
		m_pWndInventory->m_wndItemCtrl.SetDieFlag(TRUE);
		rectInventory = m_pWndInventory->GetWindowRect( TRUE );
	}
	CPoint ptInventory = rectInventory.TopLeft();
	CPoint ptMove;
	
	CRect rect = GetWindowRect( TRUE );
	
	if( ptInventory.x > rect.Width() / 2 )
		ptMove = ptInventory - CPoint( rect.Width(), 0 );
	else
		ptMove = ptInventory + CPoint( rectInventory.Width(), 0 );
	
	Move( ptMove );
}