You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
74 lines
1.8 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#include "render_pch.h"
|
|
#include "draw.h"
|
|
#include "server.h"
|
|
#include "filesystem.h"
|
|
#include "filesystem_engine.h"
|
|
#include "tier1/utlbuffer.h"
|
|
#include "tier1/utlvector.h"
|
|
#include "tier2/renderutils.h"
|
|
|
|
// memdbgon must be the last include file in a .cpp file!!!
|
|
#include "tier0/memdbgon.h"
|
|
|
|
CUtlVector< Vector > g_Points;
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Draw the currently loaded line file
|
|
// Input : g_Points - list of points
|
|
//-----------------------------------------------------------------------------
|
|
void Linefile_Draw( void )
|
|
{
|
|
Vector *points = g_Points.Base();
|
|
int pointCount = g_Points.Size();
|
|
|
|
for ( int i = 0; i < pointCount-1; i++ )
|
|
{
|
|
RenderLine( points[i], points[i+1], Color( 255, 255, 0, 255 ), true );
|
|
}
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: parse the map.lin file from disk
|
|
// this file contains a list of line segments illustrating a leak in
|
|
// the map
|
|
//-----------------------------------------------------------------------------
|
|
void Linefile_Read_f( void )
|
|
{
|
|
Vector org;
|
|
int r;
|
|
int c;
|
|
char name[MAX_OSPATH];
|
|
|
|
g_Points.Purge();
|
|
|
|
Q_snprintf( name, sizeof( name ), "maps/%s.lin", sv.GetMapName() );
|
|
|
|
CUtlBuffer buf( 0, 0, CUtlBuffer::TEXT_BUFFER );
|
|
if ( !g_pFileSystem->ReadFile( name, NULL, buf ) )
|
|
{
|
|
ConMsg ("couldn't open %s\n", name);
|
|
return;
|
|
}
|
|
|
|
ConMsg ("Reading %s...\n", name);
|
|
c = 0;
|
|
|
|
for ( ;; )
|
|
{
|
|
r = buf.Scanf ("%f %f %f\n", &org[0], &org[1], &org[2]);
|
|
if (r != 3)
|
|
break;
|
|
c++;
|
|
|
|
g_Points.AddToTail( org );
|
|
}
|
|
|
|
ConMsg ("%i lines read\n", c);
|
|
}
|