📄 dlgtoolsani.cpp
字号:
*pResult = 0;
}
void CDlgToolsANI::OnCustomdrawSliderBlue(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
m_fBlue = m_slider_blue_mix.GetPos()/100.0f;
UpdateData(false);
*pResult = 0;
}
void CDlgToolsANI::OnChangeEditRed()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
if(m_fRed<0.0)
m_fRed = 0.0f;
if(m_fRed>1.0)
m_fRed = 1.0f;
UpdateData(false);
m_slider_red_mix.SetPos(m_fRed*100);
}
void CDlgToolsANI::OnChangeEditGreen()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
if(m_fGreen<0.0)
m_fGreen = 0.0f;
if(m_fGreen>1.0)
m_fGreen = 1.0f;
UpdateData(false);
m_slider_green_mix.SetPos(m_fGreen*100);
}
void CDlgToolsANI::OnChangeEditBlue()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
if(m_fBlue<0.0)
m_fBlue = 0.0f;
if(m_fBlue>1.0)
m_fBlue = 1.0f;
UpdateData(false);
m_slider_blue_mix.SetPos(m_fBlue*100);
}
void CDlgToolsANI::OnChangeEditShowAlpha()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
UpdateData();
if(m_fShowAlpha<0.0)
m_fShowAlpha = 0.0f;
if(m_fShowAlpha>1.0)
m_fShowAlpha = 1.0f;
UpdateData(false);
m_slider_show_alpha.SetPos(m_fShowAlpha*100);
}
void CDlgToolsANI::OnCustomdrawSliderShowAlpha(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
m_fShowAlpha = m_slider_show_alpha.GetPos()/100.0f;
UpdateData(false);
*pResult = 0;
}
VOID CDlgToolsANI::UpdateSeting()
{
UpdateData(false);
m_slider_frame_delay.SetPos(m_nFrameDelay);
m_slider_show_angle.SetPos(m_nShowAngle);
m_slider_rotate_angle.SetPos(m_nRotateAngle);
m_slider_show_alpha.SetPos(m_fShowAlpha*100.0f);
m_slider_red_mix.SetPos(m_fRed*100.0f);
m_slider_green_mix.SetPos(m_fGreen*100.0f);
m_slider_blue_mix.SetPos(m_fBlue*100.0f);
m_slider_show_scale.SetPos(m_fShowScale*100.0f);
}
void CDlgToolsANI::OnShowAngle()
{
// TODO: Add your control notification handler code here
m_nShowAngle = 0;
UpdateSeting();
}
void CDlgToolsANI::OnBtnScale()
{
// TODO: Add your control notification handler code here
m_fShowScale = 1.0f;
UpdateSeting();
}
void CDlgToolsANI::OnBtnAlpha()
{
// TODO: Add your control notification handler code here
m_fShowAlpha = 1.0f;
UpdateSeting();
}
void CDlgToolsANI::OnBtnRotate()
{
// TODO: Add your control notification handler code here
m_nRotateAngle = 0;
UpdateSeting();
}
void CDlgToolsANI::OnBtnRed()
{
// TODO: Add your control notification handler code here
m_fRed = 0.5f;
UpdateSeting();
}
void CDlgToolsANI::OnBtnGreen()
{
// TODO: Add your control notification handler code here
m_fGreen = 0.5f;
UpdateSeting();
}
void CDlgToolsANI::OnBtnBlue()
{
// TODO: Add your control notification handler code here
m_fBlue = 0.5f;
UpdateSeting();
}
void CDlgToolsANI::OnBtnFrameDelay()
{
// TODO: Add your control notification handler code here
CGsTextureGroup* ptxg = m_ptr_ani->GetTextureGroup();
m_nFrameDelay = ptxg->GetDefaultDelay();
UpdateSeting();
}
void CDlgToolsANI::OnBtnSetBasePoint()
{
// TODO: Add your control notification handler code here
GSG_TXG* p_gsg = dynamic_cast<GSG_TXG*>(g_ptr_game);
if(NULL==p_gsg)
return;
p_gsg->SetBasePoint();
}
void CDlgToolsANI::OnBtnSaveSetting()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CGsTextureGroup* ptxg = m_ptr_ani->GetTextureGroup();
if(!ptxg)
return;
ptxg->SetTeam(m_nTeam);
ptxg->SetBaseAngle(D3DXToRadian(m_nBaseAngle));
ptxg->SetCacheSize(m_nCache);
ptxg->SetDefaultDelay(m_nFrameDelay);
if(m_has_shadow)
ptxg->AddFlag(TXG_FLAG_SHADOW);
else
ptxg->ClearFlag(TXG_FLAG_SHADOW);
ptxg->SaveHeader();
}
void CDlgToolsANI::OnButtonNewFrame()
{
// TODO: Add your control notification handler code here
m_ptr_ani->SetAniFrame(0);
// UpdateFrameList();
int i = m_lstAnimation.GetItemCount()-1;
if(i>=0)
{
char strTemp[255];
GSANI_FRAME frame = m_ptr_ani->GetAniFrame(i);
sprintf(strTemp, "%d", i);
m_lstAnimation.InsertItem(i, strTemp, 0);
sprintf(strTemp, "%d", frame.index);
m_lstAnimation.SetItemText(i, 1, strTemp);
sprintf(strTemp, "%d", frame.flag);
m_lstAnimation.SetItemText(i, 2, strTemp);
}
m_num_frame_per_direction = m_ptr_ani->GetFrameCount();
UpdateData(FALSE);
// m_lstAnimation.Set
}
void CDlgToolsANI::OnButtonDelFrame()
{
// TODO: Add your control notification handler code here
m_ptr_ani->SetAniFrame(-1);
int i = m_lstAnimation.GetItemCount()-1;
if(i>=0)
{
m_lstAnimation.DeleteItem(i);
}
m_num_frame_per_direction = m_ptr_ani->GetFrameCount();
UpdateData(FALSE);
// UpdateFrameList();
}
VOID CDlgToolsANI::UpdateFrameList()
{
int frame_count = m_ptr_ani->GetFrameCount();
m_lstAnimation.DeleteAllItems();
char strTemp[255];
for(int i=0; i<frame_count; i++)
{
GSANI_FRAME frame = m_ptr_ani->GetAniFrame(i);
sprintf(strTemp, "%d", i);
m_lstAnimation.InsertItem(i, strTemp, 0);
sprintf(strTemp, "%d", frame.index);
m_lstAnimation.SetItemText(i, 1, strTemp);
sprintf(strTemp, "%d", frame.flag);
m_lstAnimation.SetItemText(i, 2, strTemp);
}
}
void CDlgToolsANI::OnDblclkListFrame(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem = 0;
POSITION pos = m_lstAnimation.GetFirstSelectedItemPosition();
while (pos)
{
nItem = m_lstAnimation.GetNextSelectedItem(pos);
}
if(nItem<0)
return;
CDlgANISetFrame dlg(m_ptr_ani->GetAniFrame(nItem));
if(dlg.DoModal()==IDOK)
{
char strTemp[255];
m_ptr_ani->SetAniFrame(nItem, &dlg.m_frame);
sprintf(strTemp, "%d", dlg.m_frame.index);
m_lstAnimation.SetItemText(nItem, 1, strTemp);
sprintf(strTemp, "%d", dlg.m_frame.flag);
m_lstAnimation.SetItemText(nItem, 2, strTemp);
}
m_ptr_ani->SetCurrentFrame(nItem);
*pResult = 0;
}
void CDlgToolsANI::OnClickListFrame(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nItem = 0;
POSITION pos = m_lstAnimation.GetFirstSelectedItemPosition();
while (pos)
{
nItem = m_lstAnimation.GetNextSelectedItem(pos);
}
if(nItem<0)
return;
m_ptr_ani->SetCurrentFrame(nItem);
// int nItem = 0;
// POSITION pos = m_lstAnimation.GetFirstSelectedItemPosition();
// while (pos)
// {
// nItem = m_lstAnimation.GetNextSelectedItem(pos);
// }
// if(nItem<0)
// return;
// CGsSprite* pSprite = g_pWndAnimation->GetSpritePtr();
// pSprite->SetDirectionFrame(nItem, GSANI_FRAME_NOCHANGE);
*pResult = 0;
}
void CDlgToolsANI::OnKeydownListFrame(NMHDR* pNMHDR, LRESULT* pResult)
{
LV_KEYDOWN* pLVKeyDow = (LV_KEYDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
int nItem = 0;
POSITION pos = m_lstAnimation.GetFirstSelectedItemPosition();
while (pos)
{
nItem = m_lstAnimation.GetNextSelectedItem(pos);
}
if(nItem<0)
return;
m_ptr_ani->SetCurrentFrame(nItem);
*pResult = 0;
}
void CDlgToolsANI::OnButtonSave()
{
// TODO: Add your control notification handler code here
if(!m_ptr_ani->Export(NULL))
{
OnButtonSaveAs();
}
}
void CDlgToolsANI::OnButtonSaveAs()
{
// TODO: Add your control notification handler code here
CDlgManagerNew dlg_new(NULL, GSF_INI);
if(dlg_new.DoModal()==IDCANCEL)
return;
CString strKey = dlg_new.m_strPath;
// CFileDialog dlg(true,"File","*.ini",
// OFN_PATHMUSTEXIST|OFN_EXPLORER|OFN_NOCHANGEDIR,
// "Select file (*.ini)|*.ini||");
// if (dlg.DoModal() == IDCANCEL)
// {
// return ;
// }
LPCSTR str = (LPCSTR)strKey;
if(!CGsFunc::Path_IsSysPath((LPCSTR)strKey))
{
str = g_source.AddFile((LPCSTR)strKey, GSF_INI);
}
if(!m_ptr_ani->Export(str))
{
}
}
void CDlgToolsANI::OnButtonImport()
{
// TODO: Add your control notification handler code here
}
void CDlgToolsANI::OnCustomdrawSliderPreviewLength(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
*pResult = 0;
}
void CDlgToolsANI::OnReleasedcaptureSliderPreviewLength(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
*pResult = 0;
}
void CDlgToolsANI::OnCustomdrawSliderPreviewSpeed(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
*pResult = 0;
}
void CDlgToolsANI::OnReleasedcaptureSliderPreviewSpeed(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData();
*pResult = 0;
}
void CDlgToolsANI::OnSelendokComboAction()
{
// TODO: Add your control notification handler code here
UpdateData();
}
void CDlgToolsANI::OnCheckAlpha()
{
// TODO: Add your control notification handler code here
UpdateData();
}
void CDlgToolsANI::OnCheckShowOptimize()
{
// TODO: Add your control notification handler code here
UpdateData();
}
void CDlgToolsANI::OnCheckFrame()
{
// TODO: Add your control notification handler code here
UpdateData();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -