📄 windowparticleemitter2dialog.cpp
字号:
case DialogParticleEmitter2ButtonVariation:
{
InterpolatorDialog.Display(Window, StaticData.Variation, "Variation");
return TRUE;
}
case DialogParticleEmitter2ButtonWidth:
{
InterpolatorDialog.Display(Window, StaticData.Width, "Width");
return TRUE;
}
case DialogParticleEmitter2ButtonLength:
{
InterpolatorDialog.Display(Window, StaticData.Length, "Length");
return TRUE;
}
case DialogParticleEmitter2ButtonGravity:
{
InterpolatorDialog.Display(Window, StaticData.Gravity, "Gravity");
return TRUE;
}
case DialogParticleEmitter2ButtonLatitude:
{
InterpolatorDialog.Display(Window, StaticData.Latitude, "Latitude");
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedVisibility:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonVisibility), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVisibility)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditVisibility), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVisibility)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedEmissionRate:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonEmissionRate), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedEmissionRate)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditEmissionRate), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedEmissionRate)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedSpeed:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonSpeed), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedSpeed)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditSpeed), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedSpeed)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedVariation:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonVariation), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVariation)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditVariation), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVariation)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedWidth:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonWidth), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedWidth)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditWidth), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedWidth)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedLength:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonLength), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLength)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditLength), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLength)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedGravity:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonGravity), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedGravity)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditGravity), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedGravity)));
return TRUE;
}
case DialogParticleEmitter2ButtonAnimatedLatitude:
{
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2ButtonLatitude), CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLatitude)));
EnableWindow(GetDlgItem(Window, DialogParticleEmitter2EditLatitude), !CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLatitude)));
return TRUE;
}
case DialogParticleEmitter2ButtonOk:
{
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVisibility)))
{
StaticData.Visibility.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditVisibility)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedEmissionRate)))
{
StaticData.EmissionRate.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditEmissionRate)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedSpeed)))
{
StaticData.Speed.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditSpeed)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedVariation)))
{
StaticData.Variation.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditVariation)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedWidth)))
{
StaticData.Width.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditWidth)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLength)))
{
StaticData.Length.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLength)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedGravity)))
{
StaticData.Gravity.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditGravity)));
}
if(!CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAnimatedLatitude)))
{
StaticData.Latitude.SetStaticScalar(GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLatitude)));
}
StaticData.SegmentColor1 = Common.ColorToVector3(StaticColor1);
StaticData.SegmentColor2 = Common.ColorToVector3(StaticColor2);
StaticData.SegmentColor3 = Common.ColorToVector3(StaticColor3);
StaticData.Alpha.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditAlpha1));
StaticData.Alpha.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditAlpha2));
StaticData.Alpha.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditAlpha3));
StaticData.ParticleScaling.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditScaling1));
StaticData.ParticleScaling.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditScaling2));
StaticData.ParticleScaling.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditScaling3));
StaticData.HeadLifeSpan.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpan1));
StaticData.HeadLifeSpan.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpan2));
StaticData.HeadLifeSpan.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpan3));
StaticData.HeadDecay.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecay1));
StaticData.HeadDecay.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecay2));
StaticData.HeadDecay.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecay3));
StaticData.TailLifeSpan.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpanTail1));
StaticData.TailLifeSpan.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpanTail2));
StaticData.TailLifeSpan.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpanTail3));
StaticData.TailDecay.x = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecayTail1));
StaticData.TailDecay.y = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecayTail2));
StaticData.TailDecay.z = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditDecayTail3));
StaticData.Rows = GetInt(GetDlgItem(Window, DialogParticleEmitter2EditRows));
StaticData.Columns = GetInt(GetDlgItem(Window, DialogParticleEmitter2EditColumns));
StaticData.PriorityPlane = GetInt(GetDlgItem(Window, DialogParticleEmitter2EditPriorityPlane));
StaticData.ReplaceableId = GetInt(GetDlgItem(Window, DialogParticleEmitter2EditReplaceableId));
StaticData.Time = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditTime));
StaticData.LifeSpan = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditLifeSpan));
StaticData.TailLength = GetFloat(GetDlgItem(Window, DialogParticleEmitter2EditTailLength));
StaticData.SortPrimitivesFarZ = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonSortPrimitivesFarZ));
StaticData.LineEmitter = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonLineEmitter));
StaticData.ModelSpace = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonModelSpace));
StaticData.AlphaKey = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonAlphaKey));
StaticData.Unshaded = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonUnshaded));
StaticData.Unfogged = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonUnfogged));
StaticData.XYQuad = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonXYQuad));
StaticData.Squirt = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonSquirt));
StaticData.Head = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonHead));
StaticData.Tail = CheckStateToBool(IsDlgButtonChecked(Window, DialogParticleEmitter2ButtonTail));
StaticTexture = reinterpret_cast<MODEL_TEXTURE*>(::SendMessage(GetDlgItem(Window, DialogParticleEmitter2ComboTextureId), CB_GETITEMDATA, ::SendMessage(GetDlgItem(Window, DialogParticleEmitter2ComboTextureId), CB_GETCURSEL, 0, 0), 0));
StaticData.FilterMode = static_cast<FILTER_MODE>(::SendMessage(GetDlgItem(Window, DialogParticleEmitter2ComboFilterMode), CB_GETITEMDATA, ::SendMessage(GetDlgItem(Window, DialogParticleEmitter2ComboFilterMode), CB_GETCURSEL, 0, 0), 0));
RemoveWindow(Window);
EndDialog(Window, 1);
return TRUE;
}
case DialogParticleEmitter2ButtonCancel:
{
RemoveWindow(Window);
EndDialog(Window, 0);
return TRUE;
}
}
return FALSE;
}
case WM_CLOSE:
{
::SendMessage(Window, WM_COMMAND, DialogParticleEmitter2ButtonCancel, 0);
return TRUE;
}
}
return FALSE;
}
//+-----------------------------------------------------------------------------
//| Builds the texture ID list
//+-----------------------------------------------------------------------------
VOID WINDOW_PARTICLE_EMITTER_2_DIALOG::BuildTextureIdList(HWND Window)
{
INT i;
INT Index;
HWND ComboBox;
ComboBox = GetDlgItem(Window, DialogParticleEmitter2ComboTextureId);
if(ComboBox == NULL) return;
Index = static_cast<INT>(::SendMessage(ComboBox, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(NAME_NO_ID.c_str())));
::SendMessage(ComboBox, CB_SETITEMDATA, Index, 0);
::SendMessage(ComboBox, CB_SETCURSEL, 0, 0);
for(i = 0; i < Model.Data().TextureContainer.GetTotalSize(); i++)
{
if(Model.Data().TextureContainer.ValidIndex(i))
{
std::stringstream Stream;
if(Model.Data().TextureContainer[i]->Data().FileName == "")
{
Stream << "Replaceable ID " << Model.Data().TextureContainer[i]->Data().ReplaceableId;
}
else
{
Stream << Model.Data().TextureContainer[i]->Data().FileName;
}
Index = static_cast<INT>(::SendMessage(ComboBox, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>(Stream.str().c_str())));
::SendMessage(ComboBox, CB_SETITEMDATA, Index, reinterpret_cast<LPARAM>(Model.Data().TextureContainer[i]));
if(Model.Data().TextureContainer[i] == StaticTexture)
{
::SendMessage(ComboBox, CB_SETCURSEL, Index, 0);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -