void NifProps::Init(HWND hWnd) { mCbLayer.init(GetDlgItem(hWnd, IDC_CB_LAYER)); mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL)); mCbMotionSystem.init(GetDlgItem(hWnd, IDC_CB_MOTION_SYSTEM)); mCbQualityType.init(GetDlgItem(hWnd, IDC_CB_QUALITY_TYPE)); }
INT_PTR CapsuleParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { thishWnd=hWnd; switch (msg) { case WM_INITDIALOG: { mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL)); mCbMaterial.add("<Default>"); for (const char **str = NpHvkMaterialNames; *str; ++str) mCbMaterial.add(*str); Interval valid; int sel = NP_INVALID_HVK_MATERIAL; so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid); mCbMaterial.select( sel + 1 ); Update(t); break; } case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CB_MATERIAL: if (HIWORD(wParam)==CBN_SELCHANGE) { so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1); } break; } break; } return FALSE; }
INT_PTR RigidBodyParamDlgProc::DlgProc(TimeValue t,IParamMap *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { thishWnd=hWnd; switch (msg) { case WM_INITDIALOG: { mCbLayer.init(GetDlgItem(hWnd, IDC_CB_LAYER)); InitLayerTypeCombo(hWnd, IDC_CB_LAYER); mCbMotionSystem.init(GetDlgItem(hWnd, IDC_CB_MOTION_SYSTEM)); for (const TCHAR **str = NpHvkMotionSystems; *str; ++str) mCbMotionSystem.add(*str); mCbQualityType.init(GetDlgItem(hWnd, IDC_CB_QUALITY_TYPE)); for (const TCHAR **str = NpHvkQualityTypes; *str; ++str) mCbQualityType.add(*str); Update(t); break; } case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CB_LAYER: if (HIWORD(wParam)==CBN_SELCHANGE) { so->SetLayer( mCbLayer.selection(), t ); } break; case IDC_CB_MOTION_SYSTEM: if (HIWORD(wParam)==CBN_SELCHANGE) { so->SetMotionSystem( mCbMotionSystem.selection(), t ); } break; case IDC_CB_QUALITY_TYPE: if (HIWORD(wParam)==CBN_SELCHANGE) { so->SetQualityType( mCbQualityType.selection(), t ); } break; } break; } return FALSE; }
INT_PTR ProxyParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { thishWnd=hWnd; switch (msg) { case WM_INITDIALOG: { mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL)); InitMaterialTypeCombo(hWnd, IDC_CB_MATERIAL); Interval valid; int sel = NP_INVALID_HVK_MATERIAL; so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid); mCbMaterial.select( sel + 1 ); // Disable all types not currently implemented EnableWindow(GetDlgItem(hWnd, IDC_RDO_CAPSULE), CanCalcCapsule() ? TRUE : FALSE); EnableWindow(GetDlgItem(hWnd, IDC_RDO_OBB), CanCalcOrientedBox() ? TRUE : FALSE); //EnableWindow(GetDlgItem(hWnd, IDC_RDO_PACKED_STRIPS), FALSE); Update(t); break; } case WM_DESTROY: if (so && so->iPickButton != NULL) { ReleaseICustButton(so->iPickButton); so->iPickButton = NULL; } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CB_MATERIAL: if (HIWORD(wParam)==CBN_SELCHANGE) { so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 ); } break; case IDC_BTN_CLONE: so->CreateMesh(); break; } break; } return FALSE; }
INT_PTR bhkRigidBodyModifierDlgProc::DlgProc (TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch (msg) { case WM_INITDIALOG: { mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL)); mCbMaterial.add(_T("<Default>")); for (const wchar_t **str = NpHvkMaterialNames; *str; ++str) mCbMaterial.add(*str); Interval valid; int sel = NP_INVALID_HVK_MATERIAL; mod->pblock->GetValue( PB_MATERIAL, 0, sel, valid); mCbMaterial.select( sel + 1 ); EnableWindow(GetDlgItem(hWnd, IDC_RDO_CAPSULE), CanCalcCapsule() ? TRUE : FALSE); EnableWindow(GetDlgItem(hWnd, IDC_RDO_OBB), CanCalcOrientedBox() ? TRUE : FALSE); Update(t); break; } case WM_DESTROY: break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CB_MATERIAL: if (HIWORD(wParam)==CBN_SELCHANGE) { mod->pblock->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 ); } break; case IDC_BTN_CLONE: mod->CreateMesh(); break; default: return FALSE; } } return FALSE; }
INT_PTR ListParamDlgProc::DlgProc(TimeValue t,IParamMap2 *map,HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { thishWnd=hWnd; switch (msg) { case WM_INITDIALOG: { mCbMaterial.init(GetDlgItem(hWnd, IDC_CB_MATERIAL)); InitMaterialTypeCombo(hWnd, IDC_CB_MATERIAL); Interval valid; int sel = NP_INVALID_HVK_MATERIAL; so->pblock2->GetValue( PB_MATERIAL, 0, sel, valid); mCbMaterial.select( sel + 1 ); Update(t); break; } case WM_DESTROY: if (so && so->iPickButton != NULL) { ReleaseICustButton(so->iPickButton); so->iPickButton = NULL; } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CB_MATERIAL: if (HIWORD(wParam)==CBN_SELCHANGE) { so->pblock2->SetValue( PB_MATERIAL, 0, mCbMaterial.selection() - 1 ); } break; } break; } return FALSE; }