void SetTexMods(){ texturewin = Texturewin(); l_pIncrement = Get_SI_Inc(); #ifdef DBG_SI Sys_Printf( "SurfaceDlg SetTexMods\n" ); #endif if ( !g_surfwin ) { return; } g_bListenChanged = FALSE; if ( strncmp( texturewin->texdef.GetName(), "textures/", 9 ) != 0 ) { texdef_SI_values.SetName( SHADER_NOT_FOUND ); } gtk_spin_button_set_increments( GTK_SPIN_BUTTON( hshift_value_spinbutton ), l_pIncrement->shift[0], l_pIncrement->shift[0] ); gtk_spin_button_set_increments( GTK_SPIN_BUTTON( vshift_value_spinbutton ), l_pIncrement->shift[1], l_pIncrement->shift[1] ); gtk_spin_button_set_increments( GTK_SPIN_BUTTON( hscale_value_spinbutton ), l_pIncrement->scale[0], l_pIncrement->scale[0] ); gtk_spin_button_set_increments( GTK_SPIN_BUTTON( vscale_value_spinbutton ), l_pIncrement->scale[1], l_pIncrement->scale[0] ); gtk_spin_button_set_increments( GTK_SPIN_BUTTON( rotate_value_spinbutton ), l_pIncrement->rotate, l_pIncrement->rotate ); gtk_spin_button_set_value( GTK_SPIN_BUTTON( hshift_step_spinbutton ), l_pIncrement->shift[0] ); gtk_spin_button_set_value( GTK_SPIN_BUTTON( vshift_step_spinbutton ), l_pIncrement->shift[1] ); gtk_spin_button_set_value( GTK_SPIN_BUTTON( hscale_step_spinbutton ), l_pIncrement->scale[0] ); gtk_spin_button_set_value( GTK_SPIN_BUTTON( vscale_step_spinbutton ), l_pIncrement->scale[1] ); gtk_spin_button_set_value( GTK_SPIN_BUTTON( rotate_step_spinbutton ), l_pIncrement->rotate ); g_bListenChanged = TRUE; }
void IsFaceConflicting(){ texdef_t* tmp_texdef; texdef_to_face_t* temp_texdef_face_list; char texture_name[128]; if ( texdef_face_list_empty() ) { gtk_entry_set_text( GTK_ENTRY( hshift_value_spinbutton ), "" ); gtk_entry_set_text( GTK_ENTRY( vshift_value_spinbutton ), "" ); gtk_entry_set_text( GTK_ENTRY( hscale_value_spinbutton ), "" ); gtk_entry_set_text( GTK_ENTRY( vscale_value_spinbutton ), "" ); gtk_entry_set_text( GTK_ENTRY( rotate_value_spinbutton ), "" ); gtk_entry_set_text( GTK_ENTRY( texture_combo_entry ), "" ); return; } g_bListenChanged = FALSE; tmp_texdef = &get_texdef_face_list()->texdef; strcpy( texture_name, tmp_texdef->GetName() ); texdef_SI_values.shift[0] = tmp_texdef->shift[0]; texdef_SI_values.shift[1] = tmp_texdef->shift[1]; texdef_SI_values.scale[0] = tmp_texdef->scale[0]; texdef_SI_values.scale[1] = tmp_texdef->scale[1]; texdef_SI_values.rotate = tmp_texdef->rotate; texdef_SI_values.SetName( texture_name ); is_HShift_conflicting = FALSE; is_VShift_conflicting = FALSE; is_HScale_conflicting = FALSE; is_VScale_conflicting = FALSE; is_Rotate_conflicting = FALSE; is_TextureName_conflicting = FALSE; if ( texdef_face_list_size() > 1 ) { temp_texdef_face_list = get_texdef_face_list()->next; for (; temp_texdef_face_list; temp_texdef_face_list = temp_texdef_face_list->next ) { tmp_texdef = &temp_texdef_face_list->texdef; if ( texdef_SI_values.shift[0] != tmp_texdef->shift[0] ) { is_HShift_conflicting = TRUE; } if ( texdef_SI_values.shift[1] != tmp_texdef->shift[1] ) { is_VShift_conflicting = TRUE; } if ( texdef_SI_values.scale[0] != tmp_texdef->scale[0] ) { is_HScale_conflicting = TRUE; } if ( texdef_SI_values.scale[1] != tmp_texdef->scale[1] ) { is_VScale_conflicting = TRUE; } if ( texdef_SI_values.rotate != tmp_texdef->rotate ) { is_Rotate_conflicting = TRUE; } if ( strcmp( texture_name, tmp_texdef->GetName() ) ) { is_TextureName_conflicting = TRUE; } } } if ( is_HShift_conflicting ) { gtk_entry_set_text( GTK_ENTRY( hshift_value_spinbutton ), "" ); } else{ gtk_spin_button_set_value( GTK_SPIN_BUTTON( hshift_value_spinbutton ), texdef_SI_values.shift[0] ); } if ( is_VShift_conflicting ) { gtk_entry_set_text( GTK_ENTRY( vshift_value_spinbutton ), "" ); } else{ gtk_spin_button_set_value( GTK_SPIN_BUTTON( vshift_value_spinbutton ), texdef_SI_values.shift[1] ); } if ( is_HScale_conflicting ) { gtk_entry_set_text( GTK_ENTRY( hscale_value_spinbutton ), "" ); } else{ gtk_spin_button_set_value( GTK_SPIN_BUTTON( hscale_value_spinbutton ), texdef_SI_values.scale[0] ); } if ( is_VScale_conflicting ) { gtk_entry_set_text( GTK_ENTRY( vscale_value_spinbutton ), "" ); } else{ gtk_spin_button_set_value( GTK_SPIN_BUTTON( vscale_value_spinbutton ), texdef_SI_values.scale[1] ); } if ( is_Rotate_conflicting ) { gtk_entry_set_text( GTK_ENTRY( rotate_value_spinbutton ), "" ); } else{ gtk_spin_button_set_value( GTK_SPIN_BUTTON( rotate_value_spinbutton ), texdef_SI_values.rotate ); } g_bListenChanged = TRUE; }
void CSurfaceDlg::SetTexMods() { char sz[128]; texdef_t *pt; brushprimit_texdef_t *bpt; // local copy if a width=2 height=2 qtetxture_t is needed brushprimit_texdef_t local_bp; int i; if (!g_surfwin) return; m_bPatchMode = false; if (OnlyPatchesSelected()) { pt = &g_qeglobals.d_texturewin.texdef; if (QE_SingleBrush()) { //strcpy(g_patch_texdef.name, Patch_GetTextureName()); g_patch_texdef.SetName(Patch_GetTextureName()); } else { //strcpy(g_patch_texdef.name, pt->name); g_patch_texdef.SetName(pt->name); } g_patch_texdef.contents = pt->contents; g_patch_texdef.flags = pt->flags; g_patch_texdef.value = pt->value; pt = &g_patch_texdef; m_bPatchMode = true; } else { if (g_bNewFace && g_ptrSelectedFaces.GetSize() > 0) { face_t *selFace = reinterpret_cast<face_t*>(g_ptrSelectedFaces.GetAt(0)); pt = &selFace->texdef; if (g_qeglobals.m_bBrushPrimitMode) { // compute a texture matrix related to the default matrix width=2 height=2 ConvertTexMatWithQTexture( &selFace->brushprimit_texdef, selFace->d_texture, &local_bp, NULL ); bpt = &local_bp; } } else { pt = &g_qeglobals.d_texturewin.texdef; if (g_qeglobals.m_bBrushPrimitMode) { bpt = &g_qeglobals.d_texturewin.brushprimit_texdef; } } // brush primitive mode : compute fake shift scale rot representation if (g_qeglobals.m_bBrushPrimitMode) TexMatToFakeTexCoords( bpt->coords, m_shift, &m_rotate, m_scale ); } SendMessage (WM_SETREDRAW, 0, 0); ::SetWindowText(GetDlgItem(IDC_TEXTURE)->GetSafeHwnd(), pt->name); if (m_bPatchMode) sprintf(sz, "%4.6f", pt->shift[0]); else if (g_qeglobals.m_bBrushPrimitMode) sprintf(sz, "%d", (int)m_shift[0]); else sprintf(sz, "%d", (int)pt->shift[0]); ::SetWindowText(GetDlgItem(IDC_HSHIFT)->GetSafeHwnd(), sz); if (m_bPatchMode) sprintf(sz, "%4.6f", pt->shift[1]); else if (g_qeglobals.m_bBrushPrimitMode) sprintf(sz, "%d", (int)m_shift[1]); else sprintf(sz, "%d", (int)pt->shift[1]); ::SetWindowText(GetDlgItem(IDC_VSHIFT)->GetSafeHwnd(), sz); sprintf(sz, m_bPatchMode ? "%4.6f" : "%4.6f", g_qeglobals.m_bBrushPrimitMode ? m_scale[0] : pt->scale[0]); ::SetWindowText(GetDlgItem(IDC_HSCALE)->GetSafeHwnd(), sz); sprintf(sz, m_bPatchMode ? "%4.6f" : "%4.6f", g_qeglobals.m_bBrushPrimitMode ? m_scale[1] : pt->scale[1]); ::SetWindowText(GetDlgItem(IDC_VSCALE)->GetSafeHwnd(), sz); //++timo compute BProtate as int .. sprintf(sz, "%d", g_qeglobals.m_bBrushPrimitMode ? (int)m_rotate : (int)pt->rotate); ::SetWindowText(GetDlgItem(IDC_ROTATE)->GetSafeHwnd(), sz); sprintf(sz, "%d", (int)pt->value); ::SetWindowText(GetDlgItem(IDC_VALUE)->GetSafeHwnd(), sz); for (i=0 ; i<32 ; i++) ::SendMessage(GetDlgItem(g_checkboxes[i])->GetSafeHwnd(), BM_SETCHECK, !!(pt->flags&(1<<i)), 0 ); for (i=0 ; i<32 ; i++) ::SendMessage(GetDlgItem(g_checkboxes[32+i])->GetSafeHwnd(), BM_SETCHECK, !!(pt->contents&(1<<i)), 0 ); SendMessage (WM_SETREDRAW, 1, 0); InvalidateRect (NULL, true); }