/*
-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
+ */
#include "stdafx.h"
-#define MAX_POINTFILE 8192
-static vec3_t s_pointvecs[MAX_POINTFILE];
-static int s_num_points, s_check_point;
+#define MAX_POINTFILE 8192
+static vec3_t s_pointvecs[MAX_POINTFILE];
+static int s_num_points, s_check_point;
CPointfile g_pointfile;
// CPointfile routine used by the standard code ---------------------------------
-void CPointfile::Init()
-{
- s_num_points = 0;
+void CPointfile::Init(){
+ s_num_points = 0;
}
-void CPointfile::PushPoint (vec3_t v)
-{
- if (s_num_points < MAX_POINTFILE)
- {
- VectorCopy (v, s_pointvecs[s_num_points]);
+void CPointfile::PushPoint( vec3_t v ){
+ if ( s_num_points < MAX_POINTFILE ) {
+ VectorCopy( v, s_pointvecs[s_num_points] );
s_num_points++;
}
}
// create the display list at the end
-void CPointfile::GenerateDisplayList()
-{
- int i;
-
- if (!g_qeglobals.d_pointfile_display_list)
- g_qeglobals.d_pointfile_display_list = qglGenLists(1);
-
- qglNewList (g_qeglobals.d_pointfile_display_list, GL_COMPILE);
-
- qglColor3f (1, 0, 0);
- qglDisable(GL_TEXTURE_2D);
- qglDisable(GL_TEXTURE_1D);
- qglLineWidth (4);
- qglBegin(GL_LINE_STRIP);
- for (i=0;i<s_num_points;i++)
+void CPointfile::GenerateDisplayList(){
+ int i;
+
+ if ( !g_qeglobals.d_pointfile_display_list ) {
+ g_qeglobals.d_pointfile_display_list = qglGenLists( 1 );
+ }
+
+ qglNewList( g_qeglobals.d_pointfile_display_list, GL_COMPILE );
+
+ qglColor3f( 1, 0, 0 );
+ qglDisable( GL_TEXTURE_2D );
+ qglDisable( GL_TEXTURE_1D );
+ qglLineWidth( 4 );
+ qglBegin( GL_LINE_STRIP );
+ for ( i = 0; i < s_num_points; i++ )
{
- if (s_num_points < MAX_POINTFILE)
- {
- qglVertex3fv (s_pointvecs[i]);
- }
+ if ( s_num_points < MAX_POINTFILE ) {
+ qglVertex3fv( s_pointvecs[i] );
+ }
}
qglEnd();
- qglLineWidth (1);
-
- qglEndList ();
-
+ qglLineWidth( 1 );
+
+ qglEndList();
+
s_check_point = 0;
}
// old (but still relevant) pointfile code -------------------------------------
-void Pointfile_Delete (void)
-{
- char name[1024];
+void Pointfile_Delete( void ){
+ char name[1024];
- strcpy (name, currentmap);
- StripExtension (name);
- strcat (name, ".lin");
+ strcpy( name, currentmap );
+ StripExtension( name );
+ strcat( name, ".lin" );
- remove(name);
+ remove( name );
}
// advance camera to next point
-void Pointfile_Next (void)
-{
- vec3_t dir;
+void Pointfile_Next( void ){
+ vec3_t dir;
- if (s_check_point >= s_num_points-2)
- {
- Sys_Status ("End of pointfile", 0);
+ if ( s_check_point >= s_num_points - 2 ) {
+ Sys_Status( "End of pointfile", 0 );
return;
}
s_check_point++;
- VectorCopy (s_pointvecs[s_check_point], g_pParentWnd->GetCamWnd()->Camera()->origin);
- VectorCopy (s_pointvecs[s_check_point], g_pParentWnd->GetXYWnd()->GetOrigin());
- VectorSubtract (s_pointvecs[s_check_point+1], g_pParentWnd->GetCamWnd()->Camera()->origin, dir);
- VectorNormalize (dir, dir);
- g_pParentWnd->GetCamWnd()->Camera()->angles[1] = atan2 (dir[1], dir[0])*180/3.14159;
- g_pParentWnd->GetCamWnd()->Camera()->angles[0] = asin (dir[2])*180/3.14159;
-
- Sys_UpdateWindows (W_ALL);
+ VectorCopy( s_pointvecs[s_check_point], g_pParentWnd->GetCamWnd()->Camera()->origin );
+ VectorCopy( s_pointvecs[s_check_point], g_pParentWnd->GetXYWnd()->GetOrigin() );
+ VectorSubtract( s_pointvecs[s_check_point + 1], g_pParentWnd->GetCamWnd()->Camera()->origin, dir );
+ VectorNormalize( dir, dir );
+ g_pParentWnd->GetCamWnd()->Camera()->angles[1] = atan2( dir[1], dir[0] ) * 180 / 3.14159;
+ g_pParentWnd->GetCamWnd()->Camera()->angles[0] = asin( dir[2] ) * 180 / 3.14159;
+
+ Sys_UpdateWindows( W_ALL );
}
// advance camera to previous point
-void Pointfile_Prev (void)
-{
- vec3_t dir;
+void Pointfile_Prev( void ){
+ vec3_t dir;
- if ( s_check_point == 0)
- {
- Sys_Status ("Start of pointfile", 0);
+ if ( s_check_point == 0 ) {
+ Sys_Status( "Start of pointfile", 0 );
return;
}
s_check_point--;
- VectorCopy (s_pointvecs[s_check_point], g_pParentWnd->GetCamWnd()->Camera()->origin);
- VectorCopy (s_pointvecs[s_check_point], g_pParentWnd->GetXYWnd()->GetOrigin());
- VectorSubtract (s_pointvecs[s_check_point+1], g_pParentWnd->GetCamWnd()->Camera()->origin, dir);
- VectorNormalize (dir, dir);
- g_pParentWnd->GetCamWnd()->Camera()->angles[1] = atan2 (dir[1], dir[0])*180/3.14159;
- g_pParentWnd->GetCamWnd()->Camera()->angles[0] = asin (dir[2])*180/3.14159;
-
- Sys_UpdateWindows (W_ALL);
+ VectorCopy( s_pointvecs[s_check_point], g_pParentWnd->GetCamWnd()->Camera()->origin );
+ VectorCopy( s_pointvecs[s_check_point], g_pParentWnd->GetXYWnd()->GetOrigin() );
+ VectorSubtract( s_pointvecs[s_check_point + 1], g_pParentWnd->GetCamWnd()->Camera()->origin, dir );
+ VectorNormalize( dir, dir );
+ g_pParentWnd->GetCamWnd()->Camera()->angles[1] = atan2( dir[1], dir[0] ) * 180 / 3.14159;
+ g_pParentWnd->GetCamWnd()->Camera()->angles[0] = asin( dir[2] ) * 180 / 3.14159;
+
+ Sys_UpdateWindows( W_ALL );
}
-void WINAPI Pointfile_Check (void)
-{
- char name[1024];
- int size;
- char *data;
- char *text;
- int line = 1;
+void WINAPI Pointfile_Check( void ){
+ char name[1024];
+ int size;
+ char *data;
+ char *text;
+ int line = 1;
vec3_t v;
- strcpy (name, currentmap);
- StripExtension (name);
- strcat (name, ".lin");
+ strcpy( name, currentmap );
+ StripExtension( name );
+ strcat( name, ".lin" );
- size = vfsLoadFullPathFile (name, (void**)&data);
- if (size <= 0)
- {
- Sys_FPrintf (SYS_ERR, "Pointfile %s not found\n", name);
+ size = vfsLoadFullPathFile( name, (void**)&data );
+ if ( size <= 0 ) {
+ Sys_FPrintf( SYS_ERR, "Pointfile %s not found\n", name );
return;
- }
+ }
- // store a pointer
- text = data;
+ // store a pointer
+ text = data;
- Sys_Printf ("Reading pointfile %s\n", name);
+ Sys_Printf( "Reading pointfile %s\n", name );
- g_pointfile.Init();
+ g_pointfile.Init();
- while (*data)
+ while ( *data )
{
- if (sscanf(data,"%f %f %f", &v[0], &v[1], &v[2]) != 3)
- {
- Sys_Printf("Corrupt point file, line %d\n",line);
+ if ( sscanf( data,"%f %f %f", &v[0], &v[1], &v[2] ) != 3 ) {
+ Sys_Printf( "Corrupt point file, line %d\n",line );
break;
- }
-
- while (*data && *data != '\n')
- {
- if (*(data-1) == ' ' && *(data) == '-' && *(data+1) == ' ')
- break;
- data++;
- }
- // deal with zhlt style point files.
- if (*data == '-')
- {
- if (sscanf(data,"- %f %f %f", &v[0], &v[1], &v[2]) != 3)
- {
- Sys_Printf("Corrupt point file, line %d\n",line);
- break;
- }
-
- while (*data && *data != '\n')
- data++;
-
- }
- while (*data == '\n')
- {
- data++; // skip the \n
- line++;
- }
- g_pointfile.PushPoint (v);
+ }
+
+ while ( *data && *data != '\n' )
+ {
+ if ( *( data - 1 ) == ' ' && *( data ) == '-' && *( data + 1 ) == ' ' ) {
+ break;
+ }
+ data++;
+ }
+ // deal with zhlt style point files.
+ if ( *data == '-' ) {
+ if ( sscanf( data,"- %f %f %f", &v[0], &v[1], &v[2] ) != 3 ) {
+ Sys_Printf( "Corrupt point file, line %d\n",line );
+ break;
+ }
+
+ while ( *data && *data != '\n' )
+ data++;
+
+ }
+ while ( *data == '\n' )
+ {
+ data++; // skip the \n
+ line++;
+ }
+ g_pointfile.PushPoint( v );
}
- g_free(text);
-
+ g_free( text );
+
g_pointfile.GenerateDisplayList();
- Sys_UpdateWindows (W_ALL);
+ Sys_UpdateWindows( W_ALL );
}
-void Pointfile_Draw( void )
-{
- qglCallList (g_qeglobals.d_pointfile_display_list);
+void Pointfile_Draw( void ){
+ qglCallList( g_qeglobals.d_pointfile_display_list );
}
-void Pointfile_Clear (void)
-{
- if (!g_qeglobals.d_pointfile_display_list)
+void Pointfile_Clear( void ){
+ if ( !g_qeglobals.d_pointfile_display_list ) {
return;
+ }
- qglDeleteLists (g_qeglobals.d_pointfile_display_list, 1);
+ qglDeleteLists( g_qeglobals.d_pointfile_display_list, 1 );
g_qeglobals.d_pointfile_display_list = 0;
- Sys_UpdateWindows (W_ALL);
+ Sys_UpdateWindows( W_ALL );
}
// CPointfile implementation for SAX speicific stuff -------------------------------
-void CPointfile::saxStartElement (message_info_t *ctx, const xmlChar *name, const xmlChar **attrs)
-{
- if (strcmp ((char *)name, "polyline")==0)
- {
- Init();
- // there's a prefs setting to avoid stopping on leak
- if (!g_PrefsDlg.m_bLeakStop)
- ctx->stop_depth = 0;
- }
+void CPointfile::saxStartElement( message_info_t *ctx, const xmlChar *name, const xmlChar **attrs ){
+ if ( strcmp( (char *)name, "polyline" ) == 0 ) {
+ Init();
+ // there's a prefs setting to avoid stopping on leak
+ if ( !g_PrefsDlg.m_bLeakStop ) {
+ ctx->stop_depth = 0;
+ }
+ }
}
-void CPointfile::saxEndElement (message_info_t *ctx, const xmlChar *name)
-{
- if (strcmp ((char *)name, "polyline")==0)
- {
- // we are done
- GenerateDisplayList();
- ctx->bGeometry = false;
- }
+void CPointfile::saxEndElement( message_info_t *ctx, const xmlChar *name ){
+ if ( strcmp( (char *)name, "polyline" ) == 0 ) {
+ // we are done
+ GenerateDisplayList();
+ ctx->bGeometry = false;
+ }
}
// only "point" is expected to have characters around here
-void CPointfile::saxCharacters (message_info_t *ctx, const xmlChar *ch, int len)
-{
- vec3_t v;
-
- sscanf ((char *)ch, "%f %f %f\n", &v[0], &v[1], &v[2]);
- PushPoint (v);
+void CPointfile::saxCharacters( message_info_t *ctx, const xmlChar *ch, int len ){
+ vec3_t v;
+
+ sscanf( (char *)ch, "%f %f %f\n", &v[0], &v[1], &v[2] );
+ PushPoint( v );
}
-char * CPointfile::getName()
-{
- return "Map is leaked";
+char * CPointfile::getName(){
+ return "Map is leaked";
}