DPLoginClient.cpp
Mover.h
WndTitle.cpp
CWndSelectChar::Ondraw
Code:
#ifdef __LOGIN_WING
if(nParts == PARTS_RIDE && pItemProp->dwItemKind3 == IK3_WING)
{
CModel* pModel = prj.m_modelMng.LoadModel( D3DDEVICE, OT_ITEM, (DWORD) dwItemId );
#if __VER >= 14 // __WING_ITEM
if (pModel)
{
CModelObject* pModelObject = (CModelObject*)pModel;
if( pModelObject && pModelObject->m_pBone )
{
CString strMotion = pModelObject->GetMotionFileName( _T("walk") );
assert( strMotion != _T("") );
pModelObject->LoadMotion( strMotion );
g_Neuz.m_apPlayer[slot]->SetRide(pModelObject,dwItemId);
}
}
#endif // __WING_ITEM
}
#endif
Code:
CModelObject* GetRideModel() { return m_pRide; }
CWndSelectChar::Ondraw
Code:
pModel->Render( p2DRender->m_pd3dDevice, &matWorld );
#ifdef __LOGIN_WING
D3DXMATRIX mRide = matWorld;
CModelObject * m_pRide = g_Neuz.m_apPlayer[i]->GetRideModel();
if (m_pRide)
{
m_pRide->m_nNoEffect = pModel->m_nNoEffect;
ItemProp* pRideProp = prj.GetItemProp(g_Neuz.m_apPlayer[i]->GetRideItemIdx());
if (pRideProp && pRideProp->dwItemKind3 == IK3_WING)
{
static const int SPINE1_BONE = 4;
static const int SPINE2_BONE = 5;
D3DXMATRIX* pmatSpine1Bone = pModel->GetMatrixBone(SPINE1_BONE);
D3DXMATRIX* pmatSpine2Bone = pModel->GetMatrixBone(SPINE2_BONE);
if (pmatSpine1Bone && pmatSpine2Bone)
{
D3DXMATRIX matEvent;
D3DXMatrixIdentity(&matEvent);
D3DXMATRIX matRotation;
D3DXMatrixIdentity(&matRotation);
D3DXMatrixRotationX(&matRotation, D3DXToRadian(180));
D3DXMatrixMultiply(&matEvent, &matRotation, &matEvent);
D3DXMatrixRotationZ(&matRotation, D3DXToRadian(-90));
D3DXMatrixMultiply(&matEvent, &matRotation, &matEvent);
D3DXMatrixMultiply(&matEvent, &matEvent, pmatSpine1Bone);
if (pRideProp && (pRideProp->dwID == II_RID_RID_WIN_FEATHER01 || pRideProp->dwID == II_RID_RID_WIN_FEATHER02))
{
matEvent._41 = pmatSpine2Bone->_41;
matEvent._42 = pmatSpine2Bone->_42 - 0.02f;
matEvent._43 = pmatSpine2Bone->_43 + 0.1f;
}
else
{
matEvent._41 = pmatSpine2Bone->_41;
matEvent._42 = pmatSpine2Bone->_42;
matEvent._43 = pmatSpine2Bone->_43;
}
D3DXMatrixMultiply(&mRide, &matEvent, &matWorld);
}
}
#ifdef __CSC_EXTEXTURE
m_pRide->SetTextureEx(m_pRide->m_pModelElem->m_nTextureEx);
#endif //__CSC_EXTEXTURE
m_pRide->Render(pd3dDevice, &mRide);
m_pRide->m_nNoEffect = 0;
#endif