======= .crossfire ======= This is a guide to some of the resources in the data folder used by various [[:client#Platform client installation guides|Crossfire Clients]] . * The hidden **.**crossfire folder contains Crossfire client configuration and data files. * It is usually located in the player's $HOME folder. ====== gfx folder ====== * If an image normally obtained from the [[:server]] is found in this folder, it is displayed instead of the server version. * If you are designing new graphics for crossfire, you may draw the graphics and test them in game by placing them in this folder. It is not necessary to run a server to test the graphics. * For example, if the client needed to draw a dwarf, it might need to find a dwarf_p.111.png image file. Normally this file would be downloaded from the server, but the client looks for .crossfire/gfx/dwarf_p.111.png before it looks in the cache, and before it asks the server for the image. ====== image-cache folder ====== If image caching is enabled in the crossfire client , \\ either by the option in the //Menu// Client > Configure > Display & Image Cache Options , \\ which then would change the entry line [[gdefaults#cacheimages]] in the gdefaults file; \\ or by the [[optional parameters|command-line parameter]] //-cache// , then, \\ if there are not found any cached images in the CF_DATADIR, the client should download the images herein. This applies also to the //Menu Option// Download all images at connection time, \\ and for the //-download_all_faces// command line option. ===== bmaps.client ===== The client tests for a file named //bmaps.client// inside the image-cache directory and if found, reads it's entries. This is done in the function //init_common_cache_data// of the file //common/image.c // inside the client source: \\ ''sprintf(bmaps,"%s/bmaps.client",CF_DATADIR);'' \\ and if __not__ found in the CF_DATADIR, then here in .crossfire/ : \\ ''sprintf(bmaps,"%s/.crossfire/image-cache/bmaps.client", getenv("HOME"));'' The CF_DATADIR is crossfire-client inside the //--prefix=/path// compile time parameter; \\ for the Debian OS //usr/games// , default //usr/local// . ==== Troubleshooting ==== The client does not install some bmaps.client file when it has been compiled and afterwards installed by //make install// . \\ Whenever the client is launched, it would unfortunately print the error message \\ **"Unable to open [CF_DATADIR]bmaps.client. You may wish to download and install the image file to improve performance."** \\ in red, which could confuse many users. The solution is either to create an empty file in //share/crossfire-client// to suppress this annoying error message; \\ on Linux it would be the terminal command ''touch /usr/local/share/crossfire-client/bmaps.client'' , \\ or to download the "crossfire-client-images-X.YY.Z.tar.gz" version package from the sourceforge repository \\ and to extract it inside the //share/crossfire-client// folder. The crossfire-client-images-.tar.gz package is available since around version 1.2.1 and for most versions of the client, and if one version folder on sourceforge misses it like 1.12.0 and 1.8.0, then likely the version before would fit. \\ The content of the client-images pkg is different, than the storage of the server-send images : Two archive files, one README text file and a bmaps.client text file. The process to create an images.tar.gz for the client is described in the Release Guide [[:crossfire release guide#Client]] : >>Make an image archive for the client. Need a server tree with a properly linked arch tree. >>cd lib; adm/collect_images.pl -archive A rationale would be to have a shared image folder on a shared computer, so that not every user would need his own image-cache files. The .crossfire/image-cache directory has some 10 to 20 thousand files at a size of 10 - 20 MB for both image sets //default// and //classic// . If desired, one can move the .crossfire/image-cache/ content into share/crossfire-client/ , which would then add around 260 directories to that CF_DATADIR folder, where the //themes// folder is located and the //glade-gtk2// folder for the gtk-2 client. :!: The client unfortunately does not (yet) download the files received from the server into //CF_DATADIR/image-cache// ===== crossfire-images folder ===== Until version 1.10.0 the cached images were stored in this folder. \\ For later versions 1.11 and above of the client, see above [[#image-cache folder]] . The older clients used a variable named DATADIR : \\ ''sprintf(bmaps,"%s/bmaps.client",DATADIR);'' ====== sound.cache folder ====== The [[:client:changelog_0_92_1_70_0|ChangeLog]] says : >>The sound files are expected to be in either ${HOME}/sound.cache/ >>or CF_DATADIR/sounds/. No provision exists yet for sound file installation. The variable is defined in //client/sound-src/common.h// : #define USER_SOUNDS_PATH "/.crossfire/sound.cache/"