BOOL KSceneSceneEditorDialogMisc::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here if ( m_lpSceneSceneEditor ) { D3DCOLOR FogColor = 0; GETSCENE() FALSE; IEKG3DEnvEffFog* pTempFog = GetFog(pScene); if (NULL != pTempFog) { if(SUCCEEDED(pTempFog->GetFogColor(&FogColor))) { m_bnFogColorPicker.SetBKColor(FogColor); } } UpdateSelectOption(FALSE); } return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void KSceneSceneEditorDialogMisc::OnBnClickedButtonFogcolor() { // TODO: Add your control notification handler code here if(!m_lpSceneSceneEditor) return; /*KColorPickerDialog* pDlg = GetColorPickerDialog(); pDlg->Init(&m_lpSceneSceneEditor->m_Fog.m_FogColor,"Bloom Gate Color",NULL,TRUE); pDlg->ShowWindow(TRUE);*/ GETSCENE(); IEKG3DEnvEffFog* pTempFog = GetFog(pScene); if (NULL != pTempFog) { pTempFog->SetFogColor( m_bnFogColorPicker.GetBkColor()); } }
void KSceneSceneEditorDialogMisc::OnBnClickedBnFogUpdateFogParam() { // TODO: Add your control notification handler code here UpdateData(TRUE); if(!m_lpSceneSceneEditor) return; KG3DENVEFFFOG_DESCSTRUCT tempStruct; tempStruct.m_fFogDensity = m_fFogDes; tempStruct.m_fFogStartValue = m_fFogNear; tempStruct.m_fFogEndValue = m_fFogFar; GETSCENE(); IEKG3DEnvEffFog* pTempFog = GetFog(pScene); if (NULL != pTempFog) { pTempFog->RequestModification(&tempStruct, m_dwFogModificationOption | KG3DENVEFFFOG_MDO_MODE_PARAM); m_dwFogModificationOption = 0; } }
void KSceneSceneEditorDialogMisc::UpdateFogUI() { D3DCOLOR FogColor = 0; GETSCENE(); IEKG3DEnvEffFog* pTempFog = GetFog(pScene); if (NULL != pTempFog) { KG3DENVEFFFOG_DESCSTRUCT tempStruct; if(SUCCEEDED(pTempFog->GetStruct(&tempStruct))) { m_bnFogColorPicker.SetBKColor(tempStruct.m_FogColor); m_fFogFar = tempStruct.m_fFogEndValue; m_fFogNear = tempStruct.m_fFogStartValue; m_fFogDes = tempStruct.m_fFogDensity; CButton* p = static_cast<CButton*>(this->GetDlgItem(IDC_FOG_ENABLE)); if (NULL != p) { p->SetCheck(tempStruct.m_bFogEnable ? BST_CHECKED : BST_UNCHECKED); } UpdateData(FALSE); } } }
static errcode GetObject(parsehandle * ph, SceneHandle scene) { char objtype[256]; if (fscanf(ph->ifp, "%s", objtype) == EOF) { return PARSEEOF; } if (!stringcmp(objtype, "TRI")) { return GetTri(ph, scene); } if (!stringcmp(objtype, "STRI")) { return GetSTri(ph, scene); } if (!stringcmp(objtype, "VCSTRI")) { return GetVCSTri(ph, scene); } if (!stringcmp(objtype, "SPHERE")) { return GetSphere(ph, scene); } if (!stringcmp(objtype, "FCYLINDER")) { return GetFCylinder(ph, scene); } if (!stringcmp(objtype, "RING")) { return GetRing(ph, scene); } if (!stringcmp(objtype, "POLYCYLINDER")) { return GetPolyCylinder(ph, scene); } if (!stringcmp(objtype, "CYLINDER")) { return GetCylinder(ph, scene); } if (!stringcmp(objtype, "PLANE")) { return GetPlane(ph, scene); } if (!stringcmp(objtype, "BOX")) { return GetBox(ph, scene); } if (!stringcmp(objtype, "SCALARVOL")) { return GetVol(ph, scene); } if (!stringcmp(objtype, "TEXDEF")) { return GetTexDef(ph, scene); } if (!stringcmp(objtype, "TEXALIAS")) { return GetTexAlias(ph); } if (!stringcmp(objtype, "LIGHT")) { return GetLight(ph, scene); } if (!stringcmp(objtype, "DIRECTIONAL_LIGHT")) { return GetDirLight(ph, scene); } if (!stringcmp(objtype, "SPOTLIGHT")) { return GetSpotLight(ph, scene); } if (!stringcmp(objtype, "SCAPE")) { return GetLandScape(ph, scene); } if (!stringcmp(objtype, "CAMERA")) { return GetCamera(ph, scene); } if (!stringcmp(objtype, "TPOLYFILE")) { return GetTPolyFile(ph, scene); } if (!stringcmp(objtype, "MGFFILE")) { #ifdef USELIBMGF return GetMGFFile(ph, scene); #else printf("MGF File Parsing is not available in this build.\n"); return PARSEBADSYNTAX; #endif } if (!stringcmp(objtype, "#")) { int c; while (1) { c=fgetc(ph->ifp); if (c == EOF || c == '\n') /* eat comment text */ return PARSENOERR; } } if (!stringcmp(objtype, "BACKGROUND")) { return GetBackGnd(ph, scene); } if (!stringcmp(objtype, "FOG")) { return GetFog(ph, scene); } if (!stringcmp(objtype, "INCLUDE")) { char includefile[FILENAME_MAX]; fscanf(ph->ifp, "%s", includefile); return ReadIncludeFile(ph, includefile, scene); } if (!stringcmp(objtype, "START_CLIPGROUP")) { return GetClipGroup(ph, scene); } if (!stringcmp(objtype, "END_CLIPGROUP")) { return GetClipGroupEnd(ph, scene); } if (!stringcmp(objtype, "END_SCENE")) { return PARSEEOF; /* end parsing */ } PrintSyntaxError(ph, "an object or other declaration", objtype); return PARSEBADSYNTAX; }