<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created by texi2html 1.76 --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people <dev@texi2html.cvshome.org> Send bugs and suggestions to <users@texi2html.cvshome.org> --> <head> <title>Crystal Space 1.2.1: 4.7.1 Details</title> <meta name="description" content="Crystal Space 1.2.1: 4.7.1 Details"> <meta name="keywords" content="Crystal Space 1.2.1: 4.7.1 Details"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.76"> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} pre.display {font-family: serif} pre.format {font-family: serif} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: serif; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: serif; font-size: smaller} pre.smalllisp {font-size: smaller} span.sansserif {font-family:sans-serif; font-weight:normal;} ul.toc {list-style: none} --> </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <a name="VFS-Details"></a> <a name="0"></a> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="VFS.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="VFS-Configuration-File.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="VFS.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="1"> <h3 class="subsection"> 4.7.1 Details </h3> <p>To make difference between <small>ZIP</small> archives and physical disk directories <small>VFS</small> uses a simple convention: directories end with a path separator character (<samp>‘$/’</samp>) while archives do not. <samp>‘$/’</samp> is a special configuration file variable which represents the path separator on any particular platform (see section <a href="VFS-Configuration-File.html#0">Configuration File (<tt>‘vfs.cfg’</tt>)</a>). For example <samp>‘$/data’</samp> refers to an archive, while <samp>‘$/data$/’</samp> refers to an actual directory named <tt>‘data’</tt>. Failure to understand this distinction is often the major cause of errors; so if you're getting unexpected results check in the first place if directories have trailing path separators. </p> <p>There are several differences between filesystems between operating systems that you should always keep in mind because <small>VFS</small> doesn't hide these details from you. To avoid inconsistencies between different file systems you should follow this list of guidelines: </p> <ul> <li> Choose filenames that are well suited for all operating systems you are targeting. As of today <small>DOS</small> has the most restricted rules for naming files (<small>ASCII7</small> characters except <samp>‘?’</samp>, <samp>‘*’</samp>, <samp>‘+’</samp>, and space, and with only one dot per filename). The part of <small>VFS</small> that is located in archives support virtually any filenames, so if you are sure that you will never have to place some file on a “real” filesystem, you can give it any name you desire. </li><li> Different platforms use different filename comparison criteria. On Unix and MacOS/X <small>UFS</small> filesystems, filenames are case-sensitive, while on Windows, <small>DOS</small>, and Macintosh <small>HFS</small> filesystems, they are case-insensitive. To avoid problems always refer to files by their exact names. For example, if you have a file on <small>VFS</small> called <tt>‘GaMe.DaT’</tt> you should open it exactly as <tt>‘GaMe.DaT’</tt> and not as <tt>‘game.dat’</tt> or <tt>‘GAME.DAT’</tt>. On <small>DOS</small>, the file will appear to be entirely upper-case <tt>‘GAME.DAT’</tt>, but you should still use the correct name, <tt>‘GaMe.DaT’</tt>, when opening it. </li><li> Keep in mind that Unix <em>can</em> delete files which are actively open, whereas Windows, <small>DOS</small>, and possibly other platforms can not. Therefore, you should avoid deleting open files. (<em>Technical Note</em>: Actually, this should work for files which are located in archives but is not advisable to do so, because in general, program code will not know if a file resides within an archive or within the physical filesystem. Furthermore, deleting open files from an archive not been tested. </li></ul> <hr size="1"> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="VFS.html#0" title="Previous section in reading order"> < </a>]</td> <td valign="middle" align="left">[<a href="VFS-Configuration-File.html#0" title="Next section in reading order"> > </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="Using-Crystal-Space.html#0" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="VFS.html#0" title="Up section"> Up </a>]</td> <td valign="middle" align="left">[<a href="Working-with-Engine-Content.html#0" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="index.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="cs_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="cs_Index.html#0" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="cs_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <p> <font size="-1"> This document was generated using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. </font> <br> </p> </body> </html>