From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/utils/vrad/vraddll.cpp | 486 +++++++++++++++++++++--------------------- 1 file changed, 243 insertions(+), 243 deletions(-) (limited to 'mp/src/utils/vrad/vraddll.cpp') diff --git a/mp/src/utils/vrad/vraddll.cpp b/mp/src/utils/vrad/vraddll.cpp index 87f8d7fc..bc9f2f45 100644 --- a/mp/src/utils/vrad/vraddll.cpp +++ b/mp/src/utils/vrad/vraddll.cpp @@ -1,243 +1,243 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: -// -// $NoKeywords: $ -//=============================================================================// - -//#include -#include "vraddll.h" -#include "bsplib.h" -#include "vrad.h" -#include "map_shared.h" -#include "lightmap.h" -#include "threads.h" - - -static CUtlVector g_LastGoodLightData; -static CUtlVector g_FacesTouched; - - -static CVRadDLL g_VRadDLL; -EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CVRadDLL, IVRadDLL, VRAD_INTERFACE_VERSION, g_VRadDLL ); -EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CVRadDLL, ILaunchableDLL, LAUNCHABLE_DLL_INTERFACE_VERSION, g_VRadDLL ); - - -// ---------------------------------------------------------------------------- // -// temporary static array data size tracking -// original data size = 143 megs -// - converting ddispindices, ddispverts, g_dispinfo, and dlightdata to CUtlVector -// - 51 megs -// ---------------------------------------------------------------------------- // - -class dat -{ -public: - char *name; - int size; -}; -#define DATENTRY(name) {#name, sizeof(name)} - -dat g_Dats[] = -{ - DATENTRY(dmodels), - DATENTRY(dvisdata), - DATENTRY(dlightdataLDR), - DATENTRY(dlightdataHDR), - DATENTRY(dentdata), - DATENTRY(dleafs), - DATENTRY(dplanes), - DATENTRY(dvertexes), - DATENTRY(g_vertnormalindices), - DATENTRY(g_vertnormals), - DATENTRY(texinfo), - DATENTRY(dtexdata), - DATENTRY(g_dispinfo), - DATENTRY(dorigfaces), - DATENTRY(g_primitives), - DATENTRY(g_primverts), - DATENTRY(g_primindices), - DATENTRY(dfaces), - DATENTRY(dedges), - DATENTRY(dleaffaces), - DATENTRY(dleafbrushes), - DATENTRY(dsurfedges), - DATENTRY(dbrushes), - DATENTRY(dbrushsides), - DATENTRY(dareas), - DATENTRY(dareaportals), - DATENTRY(dworldlights), - DATENTRY(dleafwaterdata), - DATENTRY(g_ClipPortalVerts), - DATENTRY(g_CubemapSamples), - DATENTRY(g_TexDataStringData), - DATENTRY(g_TexDataStringTable), - DATENTRY(g_Overlays) -}; - -int CalcDatSize() -{ - int ret = 0; - int count = sizeof( g_Dats ) / sizeof( g_Dats[0] ); - - int i; - for( i=1; i < count; i++ ) - { - if( g_Dats[i-1].size > g_Dats[i].size ) - { - dat temp = g_Dats[i-1]; - g_Dats[i-1] = g_Dats[i]; - g_Dats[i] = temp; - - if( i > 1 ) - i -= 2; - else - i -= 1; - } - } - - for( i=0; i < count; i++ ) - ret += g_Dats[i].size; - - return ret; -} - -int g_TotalDatSize = CalcDatSize(); - - - - -int CVRadDLL::main( int argc, char **argv ) -{ - return VRAD_Main( argc, argv ); -} - - -bool CVRadDLL::Init( char const *pFilename ) -{ - VRAD_Init(); - - // Set options and run vrad startup code. - do_fast = true; - g_bLowPriorityThreads = true; - g_pIncremental = GetIncremental(); - - VRAD_LoadBSP( pFilename ); - return true; -} - - -void CVRadDLL::Release() -{ -} - - -void CVRadDLL::GetBSPInfo( CBSPInfo *pInfo ) -{ - pInfo->dlightdata = pdlightdata->Base(); - pInfo->lightdatasize = pdlightdata->Count(); - - pInfo->dfaces = dfaces; - pInfo->m_pFacesTouched = g_FacesTouched.Base(); - pInfo->numfaces = numfaces; - - pInfo->dvertexes = dvertexes; - pInfo->numvertexes = numvertexes; - - pInfo->dedges = dedges; - pInfo->numedges = numedges; - - pInfo->dsurfedges = dsurfedges; - pInfo->numsurfedges = numsurfedges; - - pInfo->texinfo = texinfo.Base(); - pInfo->numtexinfo = texinfo.Count(); - - pInfo->g_dispinfo = g_dispinfo.Base(); - pInfo->g_numdispinfo = g_dispinfo.Count(); - - pInfo->dtexdata = dtexdata; - pInfo->numtexdata = numtexdata; - - pInfo->texDataStringData = g_TexDataStringData.Base(); - pInfo->nTexDataStringData = g_TexDataStringData.Count(); - - pInfo->texDataStringTable = g_TexDataStringTable.Base(); - pInfo->nTexDataStringTable = g_TexDataStringTable.Count(); -} - - -bool CVRadDLL::DoIncrementalLight( char const *pVMFFile ) -{ - char tempPath[MAX_PATH], tempFilename[MAX_PATH]; - GetTempPath( sizeof( tempPath ), tempPath ); - GetTempFileName( tempPath, "vmf_entities_", 0, tempFilename ); - - FileHandle_t fp = g_pFileSystem->Open( tempFilename, "wb" ); - if( !fp ) - return false; - - g_pFileSystem->Write( pVMFFile, strlen(pVMFFile)+1, fp ); - g_pFileSystem->Close( fp ); - - // Parse the new entities. - if( !LoadEntsFromMapFile( tempFilename ) ) - return false; - - // Create lights. - CreateDirectLights(); - - // set up sky cameras - ProcessSkyCameras(); - - g_bInterrupt = false; - if( RadWorld_Go() ) - { - // Save off the last finished lighting results for the BSP. - g_LastGoodLightData.CopyArray( pdlightdata->Base(), pdlightdata->Count() ); - if( g_pIncremental ) - g_pIncremental->GetFacesTouched( g_FacesTouched ); - - return true; - } - else - { - g_iCurFace = 0; - return false; - } -} - - -bool CVRadDLL::Serialize() -{ - if( !g_pIncremental ) - return false; - - if( g_LastGoodLightData.Count() > 0 ) - { - pdlightdata->CopyArray( g_LastGoodLightData.Base(), g_LastGoodLightData.Count() ); - - if( g_pIncremental->Serialize() ) - { - // Delete this so it doesn't keep re-saving it. - g_LastGoodLightData.Purge(); - return true; - } - } - - return false; -} - - -float CVRadDLL::GetPercentComplete() -{ - return (float)g_iCurFace / numfaces; -} - - -void CVRadDLL::Interrupt() -{ - g_bInterrupt = true; -} - - +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +//#include +#include "vraddll.h" +#include "bsplib.h" +#include "vrad.h" +#include "map_shared.h" +#include "lightmap.h" +#include "threads.h" + + +static CUtlVector g_LastGoodLightData; +static CUtlVector g_FacesTouched; + + +static CVRadDLL g_VRadDLL; +EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CVRadDLL, IVRadDLL, VRAD_INTERFACE_VERSION, g_VRadDLL ); +EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CVRadDLL, ILaunchableDLL, LAUNCHABLE_DLL_INTERFACE_VERSION, g_VRadDLL ); + + +// ---------------------------------------------------------------------------- // +// temporary static array data size tracking +// original data size = 143 megs +// - converting ddispindices, ddispverts, g_dispinfo, and dlightdata to CUtlVector +// - 51 megs +// ---------------------------------------------------------------------------- // + +class dat +{ +public: + char *name; + int size; +}; +#define DATENTRY(name) {#name, sizeof(name)} + +dat g_Dats[] = +{ + DATENTRY(dmodels), + DATENTRY(dvisdata), + DATENTRY(dlightdataLDR), + DATENTRY(dlightdataHDR), + DATENTRY(dentdata), + DATENTRY(dleafs), + DATENTRY(dplanes), + DATENTRY(dvertexes), + DATENTRY(g_vertnormalindices), + DATENTRY(g_vertnormals), + DATENTRY(texinfo), + DATENTRY(dtexdata), + DATENTRY(g_dispinfo), + DATENTRY(dorigfaces), + DATENTRY(g_primitives), + DATENTRY(g_primverts), + DATENTRY(g_primindices), + DATENTRY(dfaces), + DATENTRY(dedges), + DATENTRY(dleaffaces), + DATENTRY(dleafbrushes), + DATENTRY(dsurfedges), + DATENTRY(dbrushes), + DATENTRY(dbrushsides), + DATENTRY(dareas), + DATENTRY(dareaportals), + DATENTRY(dworldlights), + DATENTRY(dleafwaterdata), + DATENTRY(g_ClipPortalVerts), + DATENTRY(g_CubemapSamples), + DATENTRY(g_TexDataStringData), + DATENTRY(g_TexDataStringTable), + DATENTRY(g_Overlays) +}; + +int CalcDatSize() +{ + int ret = 0; + int count = sizeof( g_Dats ) / sizeof( g_Dats[0] ); + + int i; + for( i=1; i < count; i++ ) + { + if( g_Dats[i-1].size > g_Dats[i].size ) + { + dat temp = g_Dats[i-1]; + g_Dats[i-1] = g_Dats[i]; + g_Dats[i] = temp; + + if( i > 1 ) + i -= 2; + else + i -= 1; + } + } + + for( i=0; i < count; i++ ) + ret += g_Dats[i].size; + + return ret; +} + +int g_TotalDatSize = CalcDatSize(); + + + + +int CVRadDLL::main( int argc, char **argv ) +{ + return VRAD_Main( argc, argv ); +} + + +bool CVRadDLL::Init( char const *pFilename ) +{ + VRAD_Init(); + + // Set options and run vrad startup code. + do_fast = true; + g_bLowPriorityThreads = true; + g_pIncremental = GetIncremental(); + + VRAD_LoadBSP( pFilename ); + return true; +} + + +void CVRadDLL::Release() +{ +} + + +void CVRadDLL::GetBSPInfo( CBSPInfo *pInfo ) +{ + pInfo->dlightdata = pdlightdata->Base(); + pInfo->lightdatasize = pdlightdata->Count(); + + pInfo->dfaces = dfaces; + pInfo->m_pFacesTouched = g_FacesTouched.Base(); + pInfo->numfaces = numfaces; + + pInfo->dvertexes = dvertexes; + pInfo->numvertexes = numvertexes; + + pInfo->dedges = dedges; + pInfo->numedges = numedges; + + pInfo->dsurfedges = dsurfedges; + pInfo->numsurfedges = numsurfedges; + + pInfo->texinfo = texinfo.Base(); + pInfo->numtexinfo = texinfo.Count(); + + pInfo->g_dispinfo = g_dispinfo.Base(); + pInfo->g_numdispinfo = g_dispinfo.Count(); + + pInfo->dtexdata = dtexdata; + pInfo->numtexdata = numtexdata; + + pInfo->texDataStringData = g_TexDataStringData.Base(); + pInfo->nTexDataStringData = g_TexDataStringData.Count(); + + pInfo->texDataStringTable = g_TexDataStringTable.Base(); + pInfo->nTexDataStringTable = g_TexDataStringTable.Count(); +} + + +bool CVRadDLL::DoIncrementalLight( char const *pVMFFile ) +{ + char tempPath[MAX_PATH], tempFilename[MAX_PATH]; + GetTempPath( sizeof( tempPath ), tempPath ); + GetTempFileName( tempPath, "vmf_entities_", 0, tempFilename ); + + FileHandle_t fp = g_pFileSystem->Open( tempFilename, "wb" ); + if( !fp ) + return false; + + g_pFileSystem->Write( pVMFFile, strlen(pVMFFile)+1, fp ); + g_pFileSystem->Close( fp ); + + // Parse the new entities. + if( !LoadEntsFromMapFile( tempFilename ) ) + return false; + + // Create lights. + CreateDirectLights(); + + // set up sky cameras + ProcessSkyCameras(); + + g_bInterrupt = false; + if( RadWorld_Go() ) + { + // Save off the last finished lighting results for the BSP. + g_LastGoodLightData.CopyArray( pdlightdata->Base(), pdlightdata->Count() ); + if( g_pIncremental ) + g_pIncremental->GetFacesTouched( g_FacesTouched ); + + return true; + } + else + { + g_iCurFace = 0; + return false; + } +} + + +bool CVRadDLL::Serialize() +{ + if( !g_pIncremental ) + return false; + + if( g_LastGoodLightData.Count() > 0 ) + { + pdlightdata->CopyArray( g_LastGoodLightData.Base(), g_LastGoodLightData.Count() ); + + if( g_pIncremental->Serialize() ) + { + // Delete this so it doesn't keep re-saving it. + g_LastGoodLightData.Purge(); + return true; + } + } + + return false; +} + + +float CVRadDLL::GetPercentComplete() +{ + return (float)g_iCurFace / numfaces; +} + + +void CVRadDLL::Interrupt() +{ + g_bInterrupt = true; +} + + -- cgit v1.2.3