diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /mp/src/utils/vbsp/glfile.cpp | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/utils/vbsp/glfile.cpp')
| -rw-r--r-- | mp/src/utils/vbsp/glfile.cpp | 438 |
1 files changed, 219 insertions, 219 deletions
diff --git a/mp/src/utils/vbsp/glfile.cpp b/mp/src/utils/vbsp/glfile.cpp index 236845bc..361d40b0 100644 --- a/mp/src/utils/vbsp/glfile.cpp +++ b/mp/src/utils/vbsp/glfile.cpp @@ -1,219 +1,219 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//
-//=============================================================================//
-
-#include "vbsp.h"
-
-int c_glfaces;
-
-int PortalVisibleSides (portal_t *p)
-{
- int fcon, bcon;
-
- if (!p->onnode)
- return 0; // outside
-
- fcon = p->nodes[0]->contents;
- bcon = p->nodes[1]->contents;
-
- // same contents never create a face
- if (fcon == bcon)
- return 0;
-
- // FIXME: is this correct now?
- if (!fcon)
- return 1;
- if (!bcon)
- return 2;
- return 0;
-}
-
-void OutputWinding (winding_t *w, FileHandle_t glview)
-{
- static int level = 128;
- vec_t light;
- int i;
-
- CmdLib_FPrintf( glview, "%i\n", w->numpoints);
- level+=28;
- light = (level&255)/255.0;
- for (i=0 ; i<w->numpoints ; i++)
- {
- CmdLib_FPrintf(glview, "%6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n",
- w->p[i][0],
- w->p[i][1],
- w->p[i][2],
- light,
- light,
- light);
- }
- //CmdLib_FPrintf(glview, "\n");
-}
-
-void OutputWindingColor (winding_t *w, FileHandle_t glview, int r, int g, int b)
-{
- int i;
-
- CmdLib_FPrintf( glview, "%i\n", w->numpoints);
- float lr = r * (1.0f/255.0f);
- float lg = g * (1.0f/255.0f);
- float lb = b * (1.0f/255.0f);
- for (i=0 ; i<w->numpoints ; i++)
- {
- CmdLib_FPrintf(glview, "%6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n",
- w->p[i][0],
- w->p[i][1],
- w->p[i][2],
- lr,
- lg,
- lb);
- }
- //CmdLib_FPrintf(glview, "\n");
-}
-
-/*
-=============
-OutputPortal
-=============
-*/
-void OutputPortal (portal_t *p, FileHandle_t glview)
-{
- winding_t *w;
- int sides;
-
- sides = PortalVisibleSides (p);
- if (!sides)
- return;
-
- c_glfaces++;
-
- w = p->winding;
-
- if (sides == 2) // back side
- w = ReverseWinding (w);
-
- OutputWinding (w, glview);
-
- if (sides == 2)
- FreeWinding(w);
-}
-
-/*
-=============
-WriteGLView_r
-=============
-*/
-void WriteGLView_r (node_t *node, FileHandle_t glview)
-{
- portal_t *p, *nextp;
-
- if (node->planenum != PLANENUM_LEAF)
- {
- WriteGLView_r (node->children[0], glview);
- WriteGLView_r (node->children[1], glview);
- return;
- }
-
- // write all the portals
- for (p=node->portals ; p ; p=nextp)
- {
- if (p->nodes[0] == node)
- {
- OutputPortal (p, glview);
- nextp = p->next[0];
- }
- else
- nextp = p->next[1];
- }
-}
-
-
-void WriteGLViewFaces_r( node_t *node, FileHandle_t glview )
-{
- portal_t *p, *nextp;
-
- if (node->planenum != PLANENUM_LEAF)
- {
- WriteGLViewFaces_r (node->children[0], glview);
- WriteGLViewFaces_r (node->children[1], glview);
- return;
- }
-
- // write all the portals
- for (p=node->portals ; p ; p=nextp)
- {
- int s = (p->nodes[1] == node);
-
- if ( p->face[s] )
- {
- OutputWinding( p->face[s]->w, glview );
- }
- nextp = p->next[s];
- }
-}
-
-/*
-=============
-WriteGLView
-=============
-*/
-void WriteGLView (tree_t *tree, char *source)
-{
- char name[1024];
- FileHandle_t glview;
-
- c_glfaces = 0;
- sprintf (name, "%s%s.gl",outbase, source);
- Msg("Writing %s\n", name);
-
- glview = g_pFileSystem->Open( name, "w" );
- if (!glview)
- Error ("Couldn't open %s", name);
- WriteGLView_r (tree->headnode, glview);
- g_pFileSystem->Close( glview );
-
- Msg("%5i c_glfaces\n", c_glfaces);
-}
-
-
-void WriteGLViewFaces( tree_t *tree, const char *pName )
-{
- char name[1024];
- FileHandle_t glview;
-
- c_glfaces = 0;
- sprintf (name, "%s%s.gl", outbase, pName);
- Msg("Writing %s\n", name);
-
- glview = g_pFileSystem->Open( name, "w" );
- if (!glview)
- Error ("Couldn't open %s", name);
- WriteGLViewFaces_r (tree->headnode, glview);
- g_pFileSystem->Close( glview );
-
- Msg("%5i c_glfaces\n", c_glfaces);
-}
-
-
-void WriteGLViewBrushList( bspbrush_t *pList, const char *pName )
-{
- char name[1024];
- FileHandle_t glview;
-
- sprintf (name, "%s%s.gl", outbase, pName );
- Msg("Writing %s\n", name);
-
- glview = g_pFileSystem->Open( name, "w" );
- if (!glview)
- Error ("Couldn't open %s", name);
- for ( bspbrush_t *pBrush = pList; pBrush; pBrush = pBrush->next )
- {
- for (int i = 0; i < pBrush->numsides; i++ )
- OutputWinding( pBrush->sides[i].winding, glview );
- }
- g_pFileSystem->Close( glview );
-}
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// + +#include "vbsp.h" + +int c_glfaces; + +int PortalVisibleSides (portal_t *p) +{ + int fcon, bcon; + + if (!p->onnode) + return 0; // outside + + fcon = p->nodes[0]->contents; + bcon = p->nodes[1]->contents; + + // same contents never create a face + if (fcon == bcon) + return 0; + + // FIXME: is this correct now? + if (!fcon) + return 1; + if (!bcon) + return 2; + return 0; +} + +void OutputWinding (winding_t *w, FileHandle_t glview) +{ + static int level = 128; + vec_t light; + int i; + + CmdLib_FPrintf( glview, "%i\n", w->numpoints); + level+=28; + light = (level&255)/255.0; + for (i=0 ; i<w->numpoints ; i++) + { + CmdLib_FPrintf(glview, "%6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n", + w->p[i][0], + w->p[i][1], + w->p[i][2], + light, + light, + light); + } + //CmdLib_FPrintf(glview, "\n"); +} + +void OutputWindingColor (winding_t *w, FileHandle_t glview, int r, int g, int b) +{ + int i; + + CmdLib_FPrintf( glview, "%i\n", w->numpoints); + float lr = r * (1.0f/255.0f); + float lg = g * (1.0f/255.0f); + float lb = b * (1.0f/255.0f); + for (i=0 ; i<w->numpoints ; i++) + { + CmdLib_FPrintf(glview, "%6.3f %6.3f %6.3f %6.3f %6.3f %6.3f\n", + w->p[i][0], + w->p[i][1], + w->p[i][2], + lr, + lg, + lb); + } + //CmdLib_FPrintf(glview, "\n"); +} + +/* +============= +OutputPortal +============= +*/ +void OutputPortal (portal_t *p, FileHandle_t glview) +{ + winding_t *w; + int sides; + + sides = PortalVisibleSides (p); + if (!sides) + return; + + c_glfaces++; + + w = p->winding; + + if (sides == 2) // back side + w = ReverseWinding (w); + + OutputWinding (w, glview); + + if (sides == 2) + FreeWinding(w); +} + +/* +============= +WriteGLView_r +============= +*/ +void WriteGLView_r (node_t *node, FileHandle_t glview) +{ + portal_t *p, *nextp; + + if (node->planenum != PLANENUM_LEAF) + { + WriteGLView_r (node->children[0], glview); + WriteGLView_r (node->children[1], glview); + return; + } + + // write all the portals + for (p=node->portals ; p ; p=nextp) + { + if (p->nodes[0] == node) + { + OutputPortal (p, glview); + nextp = p->next[0]; + } + else + nextp = p->next[1]; + } +} + + +void WriteGLViewFaces_r( node_t *node, FileHandle_t glview ) +{ + portal_t *p, *nextp; + + if (node->planenum != PLANENUM_LEAF) + { + WriteGLViewFaces_r (node->children[0], glview); + WriteGLViewFaces_r (node->children[1], glview); + return; + } + + // write all the portals + for (p=node->portals ; p ; p=nextp) + { + int s = (p->nodes[1] == node); + + if ( p->face[s] ) + { + OutputWinding( p->face[s]->w, glview ); + } + nextp = p->next[s]; + } +} + +/* +============= +WriteGLView +============= +*/ +void WriteGLView (tree_t *tree, char *source) +{ + char name[1024]; + FileHandle_t glview; + + c_glfaces = 0; + sprintf (name, "%s%s.gl",outbase, source); + Msg("Writing %s\n", name); + + glview = g_pFileSystem->Open( name, "w" ); + if (!glview) + Error ("Couldn't open %s", name); + WriteGLView_r (tree->headnode, glview); + g_pFileSystem->Close( glview ); + + Msg("%5i c_glfaces\n", c_glfaces); +} + + +void WriteGLViewFaces( tree_t *tree, const char *pName ) +{ + char name[1024]; + FileHandle_t glview; + + c_glfaces = 0; + sprintf (name, "%s%s.gl", outbase, pName); + Msg("Writing %s\n", name); + + glview = g_pFileSystem->Open( name, "w" ); + if (!glview) + Error ("Couldn't open %s", name); + WriteGLViewFaces_r (tree->headnode, glview); + g_pFileSystem->Close( glview ); + + Msg("%5i c_glfaces\n", c_glfaces); +} + + +void WriteGLViewBrushList( bspbrush_t *pList, const char *pName ) +{ + char name[1024]; + FileHandle_t glview; + + sprintf (name, "%s%s.gl", outbase, pName ); + Msg("Writing %s\n", name); + + glview = g_pFileSystem->Open( name, "w" ); + if (!glview) + Error ("Couldn't open %s", name); + for ( bspbrush_t *pBrush = pList; pBrush; pBrush = pBrush->next ) + { + for (int i = 0; i < pBrush->numsides; i++ ) + OutputWinding( pBrush->sides[i].winding, glview ); + } + g_pFileSystem->Close( glview ); +} |