SurfNormal[2] = 1.0;
}
-#if 0
- i = g_FuncTable.m_pfnAllocateSelectedBrushHandles();
- vp = g_FuncTable.m_pfnGetSelectedBrushHandle( 0 );
- NumFaces = g_FuncTable.m_pfnGetFaceCount( vp );
-
- BestFace = -1;
- BestDot = 0.0;
-
- for ( i = 0; i < NumFaces; i++ )
- {
- _QERFaceData* QERFaceData = g_FuncTable.m_pfnGetFaceData( vp,i );
- planepts[0][0] = QERFaceData->m_v1[0];
- planepts[0][1] = QERFaceData->m_v1[1];
- planepts[0][2] = QERFaceData->m_v1[2];
- planepts[1][0] = QERFaceData->m_v2[0];
- planepts[1][1] = QERFaceData->m_v2[1];
- planepts[1][2] = QERFaceData->m_v2[2];
- planepts[2][0] = QERFaceData->m_v3[0];
- planepts[2][1] = QERFaceData->m_v3[1];
- planepts[2][2] = QERFaceData->m_v3[2];
-
- PlaneFromPoints( planepts[0], planepts[1], planepts[2], &plane[2 * i] );
- VectorSubtract( vec3_origin, plane[2 * i].normal, plane[2 * i + 1].normal );
- plane[2 * i + 1].dist = -plane[2 * i].dist;
-
- Dot = DotProduct( plane[2 * i].normal,SurfNormal );
- if ( Dot > BestDot ) {
- BestDot = Dot;
- BestFace = i;
- if ( strlen( QERFaceData->m_TextureName ) ) {
- strcpy( Texture[Game][0],QERFaceData->m_TextureName );
- }
- }
- }
- for ( i = 0; i < NumFaces; i++ )
- {
- if ( i == BestFace ) {
- continue;
- }
- _QERFaceData* QERFaceData = g_FuncTable.m_pfnGetFaceData( vp,i );
- if ( strlen( QERFaceData->m_TextureName ) ) {
- if ( strcmp( Texture[Game][0],QERFaceData->m_TextureName ) ) {
- strcpy( Texture[Game][1],QERFaceData->m_TextureName );
- }
- }
- }
-
-
- g_FuncTable.m_pfnReleaseSelectedBrushHandles();
-
- w = BaseWindingForPlane( plane[BestFace * 2].normal, plane[BestFace * 2].dist );
-
- for ( i = 0 ; i < NumFaces && w; i++ )
- {
- if ( BestFace == i ) {
- continue;
- }
- ChopWindingInPlace( &w, plane[i * 2 + 1].normal, plane[i * 2 + 1].dist, 0 );
- }
- if ( !w ) {
- return;
- }
-
- // Get bounding box for this face
- vmin[0] = vmax[0] = w->p[0][0];
- vmin[1] = vmax[1] = w->p[0][1];
- vmin[2] = vmax[2] = w->p[0][2];
- for ( j = 1; j < w->numpoints; j++ )
- {
- vmin[0] = min( vmin[0],w->p[j][0] );
- vmin[1] = min( vmin[1],w->p[j][1] );
- vmin[2] = min( vmin[2],w->p[j][2] );
- vmax[0] = max( vmax[0],w->p[j][0] );
- vmax[1] = max( vmax[1],w->p[j][1] );
- vmax[2] = max( vmax[2],w->p[j][2] );
- }
-
- FreeWinding( w );
-
- VectorCopy( plane[BestFace * 2].normal,pface.normal );
- pface.dist = plane[BestFace * 2].dist;
- switch ( Plane )
- {
- case PLANE_XZ0:
- case PLANE_XZ1:
- if ( pface.normal[1] == 0. ) {
- return;
- }
- Hll = vmin[0];
- Hur = vmax[0];
- Vll = vmin[2];
- Vur = vmax[2];
- Z00 = ( pface.dist - pface.normal[0] * Hll - pface.normal[2] * Vll ) / pface.normal[1];
- Z01 = ( pface.dist - pface.normal[0] * Hll - pface.normal[2] * Vur ) / pface.normal[1];
- Z10 = ( pface.dist - pface.normal[0] * Hur - pface.normal[2] * Vll ) / pface.normal[1];
- Z11 = ( pface.dist - pface.normal[0] * Hur - pface.normal[2] * Vur ) / pface.normal[1];
- break;
- case PLANE_YZ0:
- case PLANE_YZ1:
- if ( pface.normal[0] == 0. ) {
- return;
- }
- Hll = vmin[1];
- Hur = vmax[1];
- Vll = vmin[2];
- Vur = vmax[2];
- Z00 = ( pface.dist - pface.normal[1] * Hll - pface.normal[2] * Vll ) / pface.normal[0];
- Z01 = ( pface.dist - pface.normal[1] * Hll - pface.normal[2] * Vur ) / pface.normal[0];
- Z10 = ( pface.dist - pface.normal[1] * Hur - pface.normal[2] * Vll ) / pface.normal[0];
- Z11 = ( pface.dist - pface.normal[1] * Hur - pface.normal[2] * Vur ) / pface.normal[0];
- break;
- default:
- if ( pface.normal[2] == 0. ) {
- return;
- }
- Hll = vmin[0];
- Hur = vmax[0];
- Vll = vmin[1];
- Vur = vmax[1];
- Z00 = ( pface.dist - pface.normal[0] * Hll - pface.normal[1] * Vll ) / pface.normal[2];
- Z01 = ( pface.dist - pface.normal[0] * Hll - pface.normal[1] * Vur ) / pface.normal[2];
- Z10 = ( pface.dist - pface.normal[0] * Hur - pface.normal[1] * Vll ) / pface.normal[2];
- Z11 = ( pface.dist - pface.normal[0] * Hur - pface.normal[1] * Vur ) / pface.normal[2];
- }
-#endif
}