X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=plugins%2Fvfspk3%2Fvfs.h;h=5d7762ab63da172a83f345a39032b76589fae22d;hb=b0f63cab884b7d0b96d148ab32af326451fd980f;hp=8ab7cddd99bb8b7e3c713a3ca2ff8e0d2db4d5b1;hpb=80378101101ca1762bbf5638a9e3566893096d8a;p=xonotic%2Fnetradiant.git diff --git a/plugins/vfspk3/vfs.h b/plugins/vfspk3/vfs.h index 8ab7cddd..5d7762ab 100644 --- a/plugins/vfspk3/vfs.h +++ b/plugins/vfspk3/vfs.h @@ -1,68 +1,39 @@ -/* -Copyright (c) 2001, Loki software, inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list -of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright notice, this -list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -Neither the name of Loki software nor the names of its contributors may be used -to endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef _VFS_H_ -#define _VFS_H_ - -#define VFS_MAXDIRS 8 - -void vfsInitDirectory (const char *path); -void vfsShutdown (); -void vfsFreeFile (void *p); -GSList* vfsGetFileList (const char *dir, const char *ext); -GSList* vfsGetDirList (const char *dir); -void vfsClearFileDirList (GSList **lst); -int vfsGetFileCount (const char *filename, int flag); -int vfsLoadFile (const char *filename, void **buffer, int index = 0); -int vfsLoadFullPathFile (const char *filename, void **buffer); - -// some useful functions -// clean a file name to a unique representation -// very usefull if you have to do some weird manips on the files -// works on regular files and dirs -// will convert to lowercase, unix path ('/' filename seperator) -// on win32, will build the short path name -// directories will be cleaned, no ending filename seperator -// we modify the entry directly, the size of the string can only go down -void vfsCleanFileName(char *); -// these return a static char*, doesn't need to be freed or anything -// get the base path to use when raising file dialogs -// we manually add "maps/" or "sounds/" or "mapobjects/models/" etc. -const char* vfsBasePromptPath(); -// extract the relative path from a full path -// will match against any of the base paths we have -// returns NULL if not found -char* vfsExtractRelativePath(const char *in); -// returns the full path (in a static buff) to a file given it's relative path -// returns the first file in the list or NULL if not found -// see ifilesystem.h for more notes -char* vfsGetFullPath(const char*, int index = 0, int flag = 0); - -#endif // _VFS_H_ +/* + Copyright (c) 2001, Loki software, inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + + Neither the name of Loki software nor the names of its contributors may be used + to endorse or promote products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#if !defined( INCLUDED_VFS_H ) +#define INCLUDED_VFS_H + +void FileSystem_Init(); +void FileSystem_Shutdown(); +class VirtualFileSystem; +VirtualFileSystem& GetFileSystem(); + +#endif