IFileSystem: Difference between revisions
ZeroDegrez (talk | contribs) (We needed an introduction to the filesystem in source) |
ZeroDegrez (talk | contribs) |
||
Line 15: | Line 15: | ||
=Create Directory= | =Create Directory= | ||
To create a directory you need to know two things. The the | To create a directory you need to know two things. The the <b>relative path</b> containing the new directory name and <b>Path ID</b> where the path will be created. I say Path ID because it does not appear to be possible to create a directory using anything other than a search path id. | ||
Default Path Ids: | Default Path Ids:<br/> | ||
"DEFAULT_WRITE_PATH" | "DEFAULT_WRITE_PATH"<br/> | ||
"MOD" | "MOD"<br/> | ||
"GAME" | "GAME"<br/> | ||
"GAMEBIN" | "GAMEBIN"<br/> | ||
Example: | Example: |
Revision as of 09:24, 17 April 2006
Introduction
Here you will find all the information you ever wanted to know about the File System in Source. How to open files, how to read files, how to create new directories and how to find a file on the local system.
My Game Directory
This does not deal specifically with the filesystem, but I could not find this information anywhere else on the wiki, and so you may find this useful for your project.
//Server char * pGameDir = new char[1024]; engine->GetGameDir(pGameDir, 1024); //Client const char *pGameDir = engine->GetGameDirectory();
Create Directory
To create a directory you need to know two things. The the relative path containing the new directory name and Path ID where the path will be created. I say Path ID because it does not appear to be possible to create a directory using anything other than a search path id.
Default Path Ids:
"DEFAULT_WRITE_PATH"
"MOD"
"GAME"
"GAMEBIN"
Example:
char * relpath = new char[1024]; Q_snprintf(relpath, 1024, "stuff\\%s", "newdirectory"); filesystem->CreateDirHierarchy( path, "MOD" );
This code will create a "newdirectory" in your "stuff" folder, which if does not exist will be created along with "newdirectory" inside of your MOD folder.