From 3bf9df6b2785fa6d951086978a3e66f49427166a Mon Sep 17 00:00:00 2001 From: FluorescentCIAAfricanAmerican <0934gj3049fk@protonmail.com> Date: Wed, 22 Apr 2020 12:56:21 -0400 Subject: 1 --- tier2/defaultfilesystem.cpp | 57 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tier2/defaultfilesystem.cpp (limited to 'tier2/defaultfilesystem.cpp') diff --git a/tier2/defaultfilesystem.cpp b/tier2/defaultfilesystem.cpp new file mode 100644 index 0000000..b3a1662 --- /dev/null +++ b/tier2/defaultfilesystem.cpp @@ -0,0 +1,57 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: A higher level link library for general use in the game and tools. +// +//===========================================================================// + +#include +#include +#include + + +static CSysModule *g_pFullFileSystemModule = NULL; + +void* DefaultCreateInterfaceFn(const char *pName, int *pReturnCode) +{ + if ( pReturnCode ) + { + *pReturnCode = 0; + } + return NULL; +} + +void InitDefaultFileSystem( void ) +{ + AssertMsg( !g_pFullFileSystem, "Already set up the file system" ); + + if ( !Sys_LoadInterface( "filesystem_stdio", FILESYSTEM_INTERFACE_VERSION, + &g_pFullFileSystemModule, (void**)&g_pFullFileSystem ) ) + { + if ( !Sys_LoadInterface( "filesystem_steam", FILESYSTEM_INTERFACE_VERSION, + &g_pFullFileSystemModule, (void**)&g_pFullFileSystem ) ) + { + exit(0); + } + } + + if ( !g_pFullFileSystem->Connect( DefaultCreateInterfaceFn ) ) + { + exit(0); + } + + if ( g_pFullFileSystem->Init() != INIT_OK ) + { + exit(0); + } + + g_pFullFileSystem->RemoveAllSearchPaths(); + g_pFullFileSystem->AddSearchPath( "", "LOCAL", PATH_ADD_TO_HEAD ); +} + +void ShutdownDefaultFileSystem(void) +{ + AssertMsg( g_pFullFileSystem, "File system not set up" ); + g_pFullFileSystem->Shutdown(); + g_pFullFileSystem->Disconnect(); + Sys_UnloadModule( g_pFullFileSystemModule ); +} -- cgit v1.2.3