uncrustify! now the code is only ugly on the *inside*

This commit is contained in:
Timothee TTimo Besset
2012-03-17 15:01:54 -05:00
parent 515673c08f
commit 830125fad0
667 changed files with 191926 additions and 193962 deletions

View File

@@ -1,23 +1,23 @@
/*
Copyright (C) 1999-2007 id Software, Inc. and contributors.
For a list of contributors, see the accompanying CONTRIBUTORS file.
Copyright (C) 1999-2007 id Software, Inc. and contributors.
For a list of contributors, see the accompanying CONTRIBUTORS file.
This file is part of GtkRadiant.
This file is part of GtkRadiant.
GtkRadiant is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
GtkRadiant is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
GtkRadiant is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GtkRadiant is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GtkRadiant; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
You should have received a copy of the GNU General Public License
along with GtkRadiant; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
//-----------------------------------------------------------------------------
//
@@ -26,267 +26,262 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#include "stdafx.h"
void QERApp_GetTwoSelectedPatch( patchMesh_t **p1, patchMesh_t **p2 )
{
*p1 = NULL; *p2 = NULL;
for (brush_t *pb = selected_brushes.next ; pb != &selected_brushes ; pb = pb->next)
{
if (pb->patchBrush)
{
if (!(*p1))
*p1 = pb->pPatch;
else if (!(*p2))
{
*p2 = pb->pPatch;
return;
}
}
}
void QERApp_GetTwoSelectedPatch( patchMesh_t **p1, patchMesh_t **p2 ){
*p1 = NULL; *p2 = NULL;
for ( brush_t *pb = selected_brushes.next ; pb != &selected_brushes ; pb = pb->next )
{
if ( pb->patchBrush ) {
if ( !( *p1 ) ) {
*p1 = pb->pPatch;
}
else if ( !( *p2 ) ) {
*p2 = pb->pPatch;
return;
}
}
}
#ifdef _DEBUG
Sys_Printf("WARNING: QERApp_GetTwoSelectedPatch failed (did not find two patches)\n");
Sys_Printf( "WARNING: QERApp_GetTwoSelectedPatch failed (did not find two patches)\n" );
#endif
return;
return;
}
// Nurail: The following functions are used by the Surface Inspector module
// Queries the number of faces from selected brushes
int SI_GetSelectedFaceCountfromBrushes(void)
{
face_t *f;
brush_t *b;
int num_of_faces = 0;
int SI_GetSelectedFaceCountfromBrushes( void ){
face_t *f;
brush_t *b;
int num_of_faces = 0;
if(selected_brushes.next == &selected_brushes)
return(0);
if ( selected_brushes.next == &selected_brushes ) {
return( 0 );
}
for(b=selected_brushes.next; b!=&selected_brushes; b=b->next)
if (!(b->patchBrush))
for(f=b->brush_faces; f ; f=f->next, num_of_faces++);
for ( b = selected_brushes.next; b != &selected_brushes; b = b->next )
if ( !( b->patchBrush ) ) {
for ( f = b->brush_faces; f ; f = f->next, num_of_faces++ ) ;
}
return num_of_faces;
return num_of_faces;
}
void SI_GetSelFacesTexdef(texdef_to_face_t *allocd_block_texdef)
{
int i;
face_t *f;
brush_t *b;
texdef_to_face_t *position, *prev_pos;
brushprimit_texdef_t bp;
void SI_GetSelFacesTexdef( texdef_to_face_t *allocd_block_texdef ){
int i;
face_t *f;
brush_t *b;
texdef_to_face_t *position, *prev_pos;
brushprimit_texdef_t bp;
if(selected_brushes.next != &selected_brushes)
{
prev_pos = position = allocd_block_texdef;
for(b=selected_brushes.next; b!=&selected_brushes; b=b->next)
{
if ( !(b->patchBrush) )
{
for(f=b->brush_faces; f ; f = f->next)
{
position->face = f;
position->brush = b;
if ( selected_brushes.next != &selected_brushes ) {
prev_pos = position = allocd_block_texdef;
for ( b = selected_brushes.next; b != &selected_brushes; b = b->next )
{
if ( !( b->patchBrush ) ) {
for ( f = b->brush_faces; f ; f = f->next )
{
position->face = f;
position->brush = b;
position->texdef = f->texdef;
if ( g_qeglobals.m_bBrushPrimitMode ) {
ConvertTexMatWithQTexture( &f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL );
TexMatToFakeTexCoords( bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale );
position->orig_bp_texdef = bp;
}
position->orig_texdef = position->texdef;
prev_pos->next = position;
prev_pos = position;
position++;
}
prev_pos->next = NULL;
}
}
}
else if ( g_ptrSelectedFaces.GetSize() != 0 ) {
f = (face_t *) g_ptrSelectedFaces.GetAt( 0 );
b = (brush_t *) g_ptrSelectedFaceBrushes.GetAt( 0 );
position = (texdef_to_face_t*) allocd_block_texdef;
position->face = f;
position->brush = b;
position->texdef = f->texdef;
if ( g_qeglobals.m_bBrushPrimitMode ) {
ConvertTexMatWithQTexture( &f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL );
TexMatToFakeTexCoords( bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale );
position->orig_bp_texdef = bp;
}
position->orig_texdef = position->texdef;
prev_pos = position;
for ( i = 1; i < g_ptrSelectedFaces.GetSize(); i++ )
{
f = (face_t *) g_ptrSelectedFaces.GetAt( i );
b = (brush_t *) g_ptrSelectedFaceBrushes.GetAt( i );
position = allocd_block_texdef + i;
position->face = f;
position->brush = b;
position->texdef = f->texdef;
if(g_qeglobals.m_bBrushPrimitMode)
{
ConvertTexMatWithQTexture(&f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL);
TexMatToFakeTexCoords(bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale);
if ( g_qeglobals.m_bBrushPrimitMode ) {
ConvertTexMatWithQTexture( &f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL );
TexMatToFakeTexCoords( bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale );
position->orig_bp_texdef = bp;
}
position->orig_texdef = position->texdef;
prev_pos->next = position;
prev_pos = position;
position++;
}
prev_pos->next = NULL;
}
}
}
else if(g_ptrSelectedFaces.GetSize() != 0)
{
f = (face_t *) g_ptrSelectedFaces.GetAt(0);
b = (brush_t *) g_ptrSelectedFaceBrushes.GetAt(0);
position = (texdef_to_face_t*) allocd_block_texdef;
position->face = f;
position->brush = b;
position->texdef = f->texdef;
if(g_qeglobals.m_bBrushPrimitMode)
{
ConvertTexMatWithQTexture(&f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL);
TexMatToFakeTexCoords(bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale);
position->orig_bp_texdef = bp;
prev_pos->next = position;
prev_pos = position;
}
position->next = NULL;
}
position->orig_texdef = position->texdef;
prev_pos = position;
for(i=1; i<g_ptrSelectedFaces.GetSize(); i++)
{
f = (face_t *) g_ptrSelectedFaces.GetAt(i);
b = (brush_t *) g_ptrSelectedFaceBrushes.GetAt(i);
position = allocd_block_texdef + i;
position->face = f;
position->brush = b;
position->texdef = f->texdef;
if(g_qeglobals.m_bBrushPrimitMode)
{
ConvertTexMatWithQTexture(&f->brushprimit_texdef, QERApp_Shader_ForName( f->texdef.GetName() )->getTexture(), &bp, NULL);
TexMatToFakeTexCoords(bp.coords, position->texdef.shift, &position->texdef.rotate, position->texdef.scale);
position->orig_bp_texdef = bp;
}
position->orig_texdef = position->texdef;
prev_pos->next = position;
prev_pos = position;
}
position->next = NULL;
}
}
/*
SetFaceTexdef_Q2
SetFaceTexdef_Q2
This doesn't mess with CONTENTS_DETAIL needed for Quake2 content flag
This doesn't mess with CONTENTS_DETAIL needed for Quake2 content flag
*/
void SetFaceTexdef_Q2 (face_t *f, texdef_t *texdef, bool bFitScale)
{
*/
void SetFaceTexdef_Q2( face_t *f, texdef_t *texdef, bool bFitScale ){
if(strcmp(f->texdef.GetName(), texdef->GetName()) != 0) // set shader here instead of Brush_Build
Face_SetShader(f, texdef->GetName());
if (bFitScale)
{
f->texdef = *texdef;
// fit the scaling of the texture on the actual plane
vec3_t p1,p2,p3; // absolute coordinates
// compute absolute coordinates
ComputeAbsolute(f,p1,p2,p3);
// compute the scale
vec3_t vx,vy;
VectorSubtract(p2,p1,vx);
VectorNormalize(vx, vx);
VectorSubtract(p3,p1,vy);
VectorNormalize(vy, vy);
// assign scale
VectorScale(vx,texdef->scale[0],vx);
VectorScale(vy,texdef->scale[1],vy);
VectorAdd(p1,vx,p2);
VectorAdd(p1,vy,p3);
// compute back shift scale rot
AbsoluteToLocal(f->plane,f,p1,p2,p3);
}
else
{
f->texdef = *texdef;
}
}
void SI_SetTexdef_FaceList(texdef_to_face_t* texdef_face_list, bool b_SetUndoPoint, bool bFit_to_Scale)
{
texdef_to_face_t* texdef_to_face;
bool b_isQuake2;
if (g_pGameDescription->quake2)
b_isQuake2 = true;
else
b_isQuake2 = false;
if (!texdef_face_list)
return;
if (b_SetUndoPoint)
{
if(g_ptrSelectedFaces.GetSize() > 1)
Sys_FPrintf(SYS_WRN, "WARNING: Undo NOT supported for multiple face selections\n");
else if( (selected_brushes.next != &selected_brushes) || (g_ptrSelectedFaces.GetSize() == 1))
{
// Give something to undo to
for(texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next)
if (b_isQuake2)
SetFaceTexdef_Q2(texdef_to_face->face, &texdef_to_face->orig_texdef, bFit_to_Scale);
else
SetFaceTexdef(texdef_to_face->face, &texdef_to_face->orig_texdef, &texdef_to_face->orig_bp_texdef, bFit_to_Scale);
Undo_Start("set facelist texdefs");
if( selected_brushes.next != &selected_brushes )
Undo_AddBrushList(&selected_brushes);
else
Undo_AddBrush(texdef_face_list->brush);
}
}
for(texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next)
{
if (b_isQuake2)
SetFaceTexdef_Q2(texdef_to_face->face, &texdef_to_face->texdef, bFit_to_Scale);
else
{
brushprimit_texdef_t brushprimit_texdef;
FakeTexCoordsToTexMat(texdef_to_face->texdef.shift, texdef_to_face->texdef.rotate, texdef_to_face->texdef.scale, brushprimit_texdef.coords);
SetFaceTexdef(texdef_to_face->face, &texdef_to_face->texdef, &brushprimit_texdef , bFit_to_Scale);
if ( strcmp( f->texdef.GetName(), texdef->GetName() ) != 0 ) { // set shader here instead of Brush_Build
Face_SetShader( f, texdef->GetName() );
}
Brush_Build(texdef_to_face->brush);
if(bFit_to_Scale)
texdef_to_face->texdef = texdef_to_face->face->texdef;
}
if ( b_SetUndoPoint )
{
if( (selected_brushes.next != &selected_brushes) || (g_ptrSelectedFaces.GetSize() == 1) )
{
if(selected_brushes.next != &selected_brushes)
Undo_EndBrushList(&selected_brushes);
if ( bFitScale ) {
f->texdef = *texdef;
// fit the scaling of the texture on the actual plane
vec3_t p1,p2,p3; // absolute coordinates
// compute absolute coordinates
ComputeAbsolute( f,p1,p2,p3 );
// compute the scale
vec3_t vx,vy;
VectorSubtract( p2,p1,vx );
VectorNormalize( vx, vx );
VectorSubtract( p3,p1,vy );
VectorNormalize( vy, vy );
// assign scale
VectorScale( vx,texdef->scale[0],vx );
VectorScale( vy,texdef->scale[1],vy );
VectorAdd( p1,vx,p2 );
VectorAdd( p1,vy,p3 );
// compute back shift scale rot
AbsoluteToLocal( f->plane,f,p1,p2,p3 );
}
else
Undo_EndBrush(texdef_face_list->brush);
Undo_End();
// Over-write the orig_texdef list, cementing the change.
for(texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next)
{
texdef_to_face->orig_texdef = texdef_to_face->texdef;
texdef_to_face->orig_bp_texdef = texdef_to_face->face->brushprimit_texdef;
f->texdef = *texdef;
}
}
}
Sys_UpdateWindows (W_ALL);
}
void SI_FaceList_FitTexture(texdef_to_face_t* si_texdef_face_list, int nHeight, int nWidth)
{
texdef_to_face_t* temp_texdef_face_list;
brushprimit_texdef_t bp;
if (!si_texdef_face_list)
return;
for (temp_texdef_face_list = si_texdef_face_list; temp_texdef_face_list; temp_texdef_face_list = temp_texdef_face_list->next)
{
Face_FitTexture(temp_texdef_face_list->face, nHeight, nWidth);
Brush_Build(temp_texdef_face_list->brush,true,true,false,false);
// Write changes to our working Texdef list
if(g_qeglobals.m_bBrushPrimitMode)
void SI_SetTexdef_FaceList( texdef_to_face_t* texdef_face_list, bool b_SetUndoPoint, bool bFit_to_Scale ){
texdef_to_face_t* texdef_to_face;
bool b_isQuake2;
if ( g_pGameDescription->quake2 ) {
b_isQuake2 = true;
}
else{
b_isQuake2 = false;
}
if ( !texdef_face_list ) {
return;
}
if ( b_SetUndoPoint ) {
if ( g_ptrSelectedFaces.GetSize() > 1 ) {
Sys_FPrintf( SYS_WRN, "WARNING: Undo NOT supported for multiple face selections\n" );
}
else if ( ( selected_brushes.next != &selected_brushes ) || ( g_ptrSelectedFaces.GetSize() == 1 ) ) {
// Give something to undo to
for ( texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next )
if ( b_isQuake2 ) {
SetFaceTexdef_Q2( texdef_to_face->face, &texdef_to_face->orig_texdef, bFit_to_Scale );
}
else{
SetFaceTexdef( texdef_to_face->face, &texdef_to_face->orig_texdef, &texdef_to_face->orig_bp_texdef, bFit_to_Scale );
}
Undo_Start( "set facelist texdefs" );
if ( selected_brushes.next != &selected_brushes ) {
Undo_AddBrushList( &selected_brushes );
}
else{
Undo_AddBrush( texdef_face_list->brush );
}
}
}
for ( texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next )
{
ConvertTexMatWithQTexture(&temp_texdef_face_list->face->brushprimit_texdef, QERApp_Shader_ForName( temp_texdef_face_list->face->texdef.GetName() )->getTexture(), &bp, NULL);
TexMatToFakeTexCoords(bp.coords, temp_texdef_face_list->face->texdef.shift, &temp_texdef_face_list->face->texdef.rotate, temp_texdef_face_list->face->texdef.scale);
if ( b_isQuake2 ) {
SetFaceTexdef_Q2( texdef_to_face->face, &texdef_to_face->texdef, bFit_to_Scale );
}
else
{
brushprimit_texdef_t brushprimit_texdef;
FakeTexCoordsToTexMat( texdef_to_face->texdef.shift, texdef_to_face->texdef.rotate, texdef_to_face->texdef.scale, brushprimit_texdef.coords );
SetFaceTexdef( texdef_to_face->face, &texdef_to_face->texdef, &brushprimit_texdef, bFit_to_Scale );
}
Brush_Build( texdef_to_face->brush );
if ( bFit_to_Scale ) {
texdef_to_face->texdef = texdef_to_face->face->texdef;
}
}
temp_texdef_face_list->texdef = temp_texdef_face_list->face->texdef;
}
Sys_UpdateWindows (W_CAMERA);
if ( b_SetUndoPoint ) {
if ( ( selected_brushes.next != &selected_brushes ) || ( g_ptrSelectedFaces.GetSize() == 1 ) ) {
if ( selected_brushes.next != &selected_brushes ) {
Undo_EndBrushList( &selected_brushes );
}
else{
Undo_EndBrush( texdef_face_list->brush );
}
Undo_End();
// Over-write the orig_texdef list, cementing the change.
for ( texdef_to_face = texdef_face_list; texdef_to_face; texdef_to_face = texdef_to_face->next )
{
texdef_to_face->orig_texdef = texdef_to_face->texdef;
texdef_to_face->orig_bp_texdef = texdef_to_face->face->brushprimit_texdef;
}
}
}
Sys_UpdateWindows( W_ALL );
}
void SI_FaceList_FitTexture( texdef_to_face_t* si_texdef_face_list, int nHeight, int nWidth ){
texdef_to_face_t* temp_texdef_face_list;
brushprimit_texdef_t bp;
if ( !si_texdef_face_list ) {
return;
}
for ( temp_texdef_face_list = si_texdef_face_list; temp_texdef_face_list; temp_texdef_face_list = temp_texdef_face_list->next )
{
Face_FitTexture( temp_texdef_face_list->face, nHeight, nWidth );
Brush_Build( temp_texdef_face_list->brush,true,true,false,false );
// Write changes to our working Texdef list
if ( g_qeglobals.m_bBrushPrimitMode ) {
ConvertTexMatWithQTexture( &temp_texdef_face_list->face->brushprimit_texdef, QERApp_Shader_ForName( temp_texdef_face_list->face->texdef.GetName() )->getTexture(), &bp, NULL );
TexMatToFakeTexCoords( bp.coords, temp_texdef_face_list->face->texdef.shift, &temp_texdef_face_list->face->texdef.rotate, temp_texdef_face_list->face->texdef.scale );
}
temp_texdef_face_list->texdef = temp_texdef_face_list->face->texdef;
}
Sys_UpdateWindows( W_CAMERA );
}
GtkWindow* SI_GetMainWindow(void)
{
return GTK_WINDOW(g_qeglobals_gui.d_main_window);
GtkWindow* SI_GetMainWindow( void ){
return GTK_WINDOW( g_qeglobals_gui.d_main_window );
}
void SI_SetWinPos_from_Prefs(GtkWidget *win)
{
load_window_pos (win, g_PrefsDlg.mWindowInfo.posSurfaceWnd);
void SI_SetWinPos_from_Prefs( GtkWidget *win ){
load_window_pos( win, g_PrefsDlg.mWindowInfo.posSurfaceWnd );
}