WndManager.cpp
Unter
Code:
#ifdef __TRANSFER_AWAKE
m_pWndTrans = NULL;
#endif //__TRANSFER_AWAKE
das
Code:
#ifdef __FENNEK_PET
m_pWndFennekPet = NULL;
#endif //__FENNEK_PET
Unter
Code:
#ifdef __TRANSFER_AWAKE
SAFE_DELETE( m_pWndTrans );
#endif //__TRANSFER_AWAKE
das
Code:
#ifdef __FENNEK_PET
SAFE_DELETE( m_pWndFennekPet );
#endif //__FENNEK_PET
Unter
Code:
#ifdef __TRANSFER_AWAKE
if( m_pWndTrans == pWndChild )
{
SAFE_DELETE( m_pWndTrans );
pWndChild = NULL;
}
das
Code:
#ifdef __FENNEK_PET
if( m_pWndFennekPet == pWndChild )
{
SAFE_DELETE( m_pWndFennekPet );
pWndChild = NULL;
}
#endif //__FENNEK_PET
Unter dem und über SetFocus();
Code:
#ifdef __TRANSFER_AWAKE
CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
if(pWndTrans!= NULL)
pWndTrans->SetVisible(FALSE);
#endif //__TRANSFER_AWAKE
das
Code:
#ifdef __FENNEK_PET
CWndFennekPet* pWndFennekPet = (CWndFennekPet*)g_WndMng.GetWndBase( APP_FENNEK_PET ); // Name der APP ggfs. anpassen
if( pWndFennekPet != NULL )
pWndFennekPet->SetVisible( FALSE );
#endif //__FENNEK_PET
Unter
Code:
#ifdef __TRANSFER_AWAKE
CWndTransfer* pWndTrans = (CWndTransfer*)g_WndMng.GetWndBase( APP_TRANSFER );
if(pWndTrans!= NULL)
pWndTrans->SetVisible(TRUE);
#endif //__TRANSFER_AWAKE
das
Code:
#ifdef __FENNEK_PET
CWndFennekPet* pWndFennekPet = (CWndFennekPet*)g_WndMng.GetWndBase( APP_FENNEK_PET ); // Name der APP ggfs. anpassen
if( pWndFennekPet != NULL )
pWndFennekPet->SetVisible( TRUE );
#endif //__FENNEK_PET
WndManager.h
Unter
Code:
#ifdef __TRANSFER_AWAKE
CWndTransfer* m_pWndTrans;
#endif //__TRANSFER_AWAKE
das
Code:
#ifdef __FENNEK_PET
CWndFennekPet* m_pWndFennekPet;
#endif //__FENNEK_PET
WndField.cpp
Unter
Code:
#ifdef __TRANSFER_AWAKE
CWndTransfer::CWndTransfer()
{
for( int i = 0; i < 4; i++ )
{
m_pItemElem[i] = NULL;
m_pTexture[i] = NULL;
}
}
CWndTransfer::~CWndTransfer()
{
for( int i = 0; i < 4; i++ )
{
if( m_pItemElem[i] != NULL )
{
if( !g_pPlayer->m_vtInfo.IsTrading( m_pItemElem[i] ))
m_pItemElem[i]->SetExtra(0);
}
}
for( int i = 0; i < 4; i++ )
{
m_pItemElem[i] = NULL;
m_pTexture[i] = NULL;
}
}
BOOL CWndTransfer::Initialize( CWndBase* pWndParent, DWORD dwType )
{
return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TRANSFER, 0, CPoint( 0, 0 ), pWndParent );
}
BOOL CWndTransfer::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )
{
return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );
}
void CWndTransfer::OnSize( UINT nType, int cx, int cy )
{
CWndNeuz::OnSize( nType, cx, cy );
}
void CWndTransfer::OnLButtonUp( UINT nFlags, CPoint point )
{
}
void CWndTransfer::OnLButtonDown( UINT nFlags, CPoint point )
{
}
void CWndTransfer::OnDraw( C2DRender* p2DRender )
{
LPWNDCTRL wndCtrl[4];
wndCtrl[0] = GetWndCtrl( WIDC_CUSTOM1 );
wndCtrl[1] = GetWndCtrl( WIDC_CUSTOM2 );
wndCtrl[2] = GetWndCtrl( WIDC_CUSTOM3 );
wndCtrl[3] = GetWndCtrl( WIDC_CUSTOM4 );
for( int i = 0; i < 4; i++ )
{
if( m_pItemElem[i] != NULL && m_pTexture[i] != NULL )
{
m_pTexture[i]->Render( p2DRender, CPoint( wndCtrl[i]->rect.left, wndCtrl[i]->rect.top));
}
if (m_pItemElem[0] != NULL && m_pItemElem[1] != NULL && m_pItemElem[3] != NULL )
{
m_pTexture[2] = CWndBase::m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, m_pItemElem[1]->GetProp()->szIcon ), 0xffff00ff );
m_pTexture[2]->Render( p2DRender, CPoint( wndCtrl[2]->rect.left, wndCtrl[2]->rect.top));
}
}
}
HRESULT CWndTransfer::RestoreDeviceObjects()
{
CWndNeuz::RestoreDeviceObjects();
return S_OK;
}
HRESULT CWndTransfer::InvalidateDeviceObjects()
{
CWndNeuz::InvalidateDeviceObjects();
return S_OK;
}
HRESULT CWndTransfer::DeleteDeviceObjects()
{
CWndNeuz::DeleteDeviceObjects();
InvalidateDeviceObjects();
return S_OK;
}
void CWndTransfer::OnInitialUpdate( void )
{
CWndNeuz::OnInitialUpdate();
MoveParentCenter();
}
BOOL CWndTransfer::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{
LPWNDCTRL pCtrl = GetWndCtrl(WIDC_CUSTOM1);
CItemElem *pItem = (CItemElem*)g_pPlayer->GetItemId(pShortcut->m_dwId);
if(!pItem)
return FALSE;
if(pCtrl && pCtrl->rect.PtInRect(point))
{
if(pItem->GetRandomOptItemId() > 0)
{
m_pItemElem[0] = pItem;
pItem->SetExtra(1);
m_pTexture[0] = CWndBase::m_textureMng.AddTexture(D3DDEVICE,MakePath(DIR_ITEM,m_pItemElem[0]->GetProp()->szIcon),0xffff00ff);
return TRUE;
}
else
{
g_WndMng.PutString("Der Gegenstand muss erweckt werden!");
return FALSE;
}
}
pCtrl = GetWndCtrl(WIDC_CUSTOM2);
if(pCtrl && pCtrl->rect.PtInRect(point))
{
if(pItem->GetRandomOptItemId() <= 0)
{
m_pItemElem[1] = pItem;
pItem->SetExtra(1);
m_pTexture[1] = CWndBase::m_textureMng.AddTexture(D3DDEVICE,MakePath(DIR_ITEM,m_pItemElem[1]->GetProp()->szIcon),0xffff00ff);
return TRUE;
}
else
{
g_WndMng.PutString("Der Gegenstand ist nicht erweckt!");
return FALSE;
}
}
pCtrl = GetWndCtrl(WIDC_CUSTOM4);
if(pCtrl && pCtrl->rect.PtInRect(point))
{
if(pItem->GetProp()->dwID == II_TRANS_MAT)
{
m_pItemElem[3] = pItem;
pItem->SetExtra(1);
m_pTexture[3] = CWndBase::m_textureMng.AddTexture(D3DDEVICE,MakePath(DIR_ITEM,m_pItemElem[3]->GetProp()->szIcon),0xffff00ff);
return TRUE;
}
else
{
g_WndMng.PutString("Falsches Material!");
return FALSE;
}
}
return FALSE;
}
BOOL CWndTransfer::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
switch (nID)
{
case WIDC_BUTTON1:// Start Transfer
{
if(g_pPlayer->GetGold() < 1)
return FALSE;
if (m_pItemElem[0] != NULL && m_pItemElem[1] != NULL && m_pItemElem[3] != NULL )
{
g_DPlay.SendTransferAwake( m_pItemElem[1]->m_dwObjId, m_pItemElem[0]->m_dwObjId, m_pItemElem[3]->m_dwObjId);
Destroy();
}
else
{
g_WndMng.PutString("Kein Gegenstand vorhanden.");
}
break;
}
case WIDC_BUTTON2:// Cancel Window
{
Destroy();
break;
}
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
#endif
das
Code:
#ifdef __FENNEK_PET
CWndFennekPet::CWndFennekPet()
{
m_pTexture = NULL;
}
CWndFennekPet::~CWndFennekPet()
{
DeleteDeviceObjects();
}
BOOL CWndFennekPet::Initialize( CWndBase* pWndParent, DWORD dwType )
{
return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_FENNEK_PET, 0, CPoint( 0, 0 ), pWndParent ); // Name der APP ggfs. anpassen
}
BOOL CWndFennekPet::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase )
{
return CWndNeuz::OnCommand( nID, dwMessage, pWndBase );
}
void CWndFennekPet::OnSize( UINT nType, int cx, int cy )
{
CWndNeuz::OnSize( nType, cx, cy );
}
void CWndFennekPet::OnLButtonUp( UINT nFlags, CPoint point )
{
}
void CWndFennekPet::OnLButtonDown( UINT nFlags, CPoint point )
{
}
void CWndFennekPet::OnDraw( C2DRender* p2DRender )
{
LPWNDCTRL wndCtrl = GetWndCtrl( WIDC_CUSTOM1 );
CString petIconFile; // Icon (Item\Itm_Pet..)
switch( m_nSelected )
{
case 0:
petIconFile = "Itm_PetWhiteTiger01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_TIGER;
break;
case 1:
petIconFile = "Itm_PetBarbaryLion01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_LION;
break;
case 2:
petIconFile = "Itm_PetRabbit02_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_RABBIT;
break;
case 3:
petIconFile = "Itm_PetNineFox01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_FOX;
break;
case 4:
petIconFile = "Itm_PetDragon01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_DRAGON;
break;
case 5:
petIconFile = "Itm_PetEagle01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_GRIFFIN;
break;
case 6:
petIconFile = "Itm_PetUnicorn01_00.dds"; // Normal D Class Pet (Inventar) Icon
nKind = PK_UNICORN;
break;
}
m_pTexture = m_textureMng.AddTexture( D3DDEVICE, MakePath( DIR_ITEM, petIconFile ), 0xffff00ff );
if( m_pTexture != NULL )
{
if( g_Option.m_nWindowAlpha > 200 )
{
m_pTexture->Render( p2DRender, wndCtrl->rect.TopLeft(), g_Option.m_nWindowAlpha - 55 );
}
else
{
m_pTexture->Render( p2DRender, wndCtrl->rect.TopLeft(), g_Option.m_nWindowAlpha );
}
}
}
HRESULT CWndFennekPet::RestoreDeviceObjects()
{
CWndNeuz::RestoreDeviceObjects();
return S_OK;
}
HRESULT CWndFennekPet::InvalidateDeviceObjects()
{
CWndNeuz::InvalidateDeviceObjects();
return S_OK;
}
HRESULT CWndFennekPet::DeleteDeviceObjects()
{
CWndNeuz::DeleteDeviceObjects();
InvalidateDeviceObjects();
return S_OK;
}
void CWndFennekPet::OnInitialUpdate( void )
{
CWndNeuz::OnInitialUpdate();
RestoreDeviceObjects();
CRect rectRoot = m_pWndRoot->GetLayoutRect();
CRect rectWindow = GetWindowRect();
CPoint point( rectRoot.right - rectWindow.Width(), 110 );
Move( point );
MoveParentCenter();
CWndListBox* pListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
pListBox->AddString("Behemoth: +75 STR");
pListBox->AddString("Lion: +75 STA");
pListBox->AddString("Jackalope: +75 DEX");
pListBox->AddString("Reinecke: +75 INT");
pListBox->AddString("Bahamuth: +375 ATK");
pListBox->AddString("Hippogryph: +300 DEF");
pListBox->AddString("Nightmare: +6825 HP");
}
BOOL CWndFennekPet::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
switch (nID)
{
case WIDC_LISTBOX1:
{
CWndListBox* pWndListBox = (CWndListBox*)GetDlgItem( WIDC_LISTBOX1 );
if( pWndListBox->GetCurSel() != -1 || pWndListBox->GetCurSel() > 6 )
{
m_nSelected = pWndListBox->GetCurSel();
}
break;
}
case WIDC_BUTTON1: // OK
{
CPet* pPet = g_pPlayer->GetPet();
if( pPet && pPet->GetLevel() == PL_EGG )
{
if( nKind >= PK_TIGER && nKind < PK_MAX )
{
g_DPlay.SendFennekPet( nKind );
Destroy();
}
else
{
g_WndMng.PutString("Um diese Scroll nutzen zu können, brauchst du ein aktiviertes Egg!");
}
}
else
{
g_WndMng.PutString("Du musst ein Egg aktiviert haben!");
}
break;
}
case WIDC_BUTTON2: // Cancel
{
Destroy();
break;
}
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
#endif //__FENNEK_PET
WndField.h
Unter
Code:
#ifdef __TRANSFER_AWAKE
class CWndTransfer : public CWndNeuz
{
public:
CItemElem* m_pItemElem[4];
CTexture* m_pTexture[4];
CWndTransfer( void );
~CWndTransfer( void );
virtual HRESULT RestoreDeviceObjects();
virtual HRESULT InvalidateDeviceObjects();
virtual HRESULT DeleteDeviceObjects();
public:
CRect m_Rect[3];
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase );
virtual BOOL OnDropIcon( LPSHORTCUT pShortcut, CPoint point );
virtual void OnSize( UINT nType, int cx, int cy );
virtual void OnLButtonUp( UINT nFlags, CPoint point );
virtual void OnLButtonDown( UINT nFlags, CPoint point );
};
#endif
das
Code:
#ifdef __FENNEK_PET
class CWndFennekPet : public CWndNeuz
{
public:
int m_nSelected;
CTexture* m_pTexture;
BYTE nKind;
CWndFennekPet( void );
~CWndFennekPet( void );
virtual HRESULT RestoreDeviceObjects();
virtual HRESULT InvalidateDeviceObjects();
virtual HRESULT DeleteDeviceObjects();
public:
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase );
virtual void OnSize( UINT nType, int cx, int cy );
virtual void OnLButtonUp( UINT nFlags, CPoint point );
virtual void OnLButtonDown( UINT nFlags, CPoint point );
};
#endif //__FENNEK_PET