I've just used the console log in the past.
I think some assets are asked to be precached no matter what. Whether it's to do with how the tiki is constructed, or what is in them (e.g. anim definitions), or the engine is hard-coded to cache certain files, I don't know.
I just cache them as it asks. The usual suspects inside fx folder are:
Code:
cache models/fx/bh_paper_lite.tik
cache models/fx/bh_paper_hard.tik
cache models/fx/bh_wood_lite.tik
cache models/fx/bh_wood_hard.tik
cache models/fx/bh_metal_lite.tik
cache models/fx/bh_metal_hard.tik
cache models/fx/bh_stone_lite.tik
cache models/fx/bh_stone_hard.tik
cache models/fx/bh_dirt_lite.tik
cache models/fx/bh_dirt_hard.tik
cache models/fx/bh_grass_lite.tik
cache models/fx/bh_grass_hard.tik
cache models/fx/bh_mud_lite.tik
cache models/fx/bh_mud_hard.tik
cache models/fx/bh_water_lite.tik
cache models/fx/bh_water_hard.tik
cache models/fx/bh_glass_lite.tik
cache models/fx/bh_glass_hard.tik
cache models/fx/bh_sand_lite.tik
cache models/fx/bh_sand_hard.tik
cache models/fx/bh_foliage_lite.tik
cache models/fx/bh_foliage_hard.tik
cache models/fx/bh_snow_lite.tik
cache models/fx/bh_snow_hard.tik
cache models/fx/bh_carpet_lite.tik
cache models/fx/bh_carpet_hard.tik
cache models/fx/bh_human_uniform_lite.tik
cache models/fx/bh_human_uniform_hard.tik
cache models/fx/water_trail_bubble.tik
cache models/fx/grenexp_base.tik
cache models/fx/bazookaexp_base.tik
cache models/fx/grenexp_paper.tik
cache models/fx/grenexp_wood.tik
cache models/fx/grenexp_metal.tik
cache models/fx/grenexp_stone.tik
cache models/fx/grenexp_dirt.tik
cache models/fx/grenexp_grass.tik
cache models/fx/grenexp_mud.tik
cache models/fx/grenexp_water.tik
cache models/fx/grenexp_gravel.tik
cache models/fx/grenexp_sand.tik
cache models/fx/grenexp_foliage.tik
cache models/fx/grenexp_snow.tik
cache models/fx/grenexp_carpet.tik
cache models/fx/water_ripple_still.tik
cache models/fx/water_ripple_moving.tik
cache models/fx/barrel_oil_leak_big.tik
cache models/fx/barrel_oil_leak_medium.tik
cache models/fx/barrel_oil_leak_small.tik
cache models/fx/barrel_oil_leak_splat.tik
cache models/fx/barrel_water_leak_big.tik
cache models/fx/barrel_water_leak_medium.tik
cache models/fx/barrel_water_leak_small.tik
cache models/fx/barrel_water_leak_splat.tik
cache models/fx/barrel_gas_destroyed.tik
cache models/fx/fs_light_dust.tik
cache models/fx/fs_heavy_dust.tik
cache models/fx/fs_dirt.tik
cache models/fx/fs_grass.tik
cache models/fx/fs_mud.tik
cache models/fx/fs_puddle.tik
cache models/fx/fs_sand.tik
cache models/fx/fs_snow.tik
As with static models like sandbags, they are never asked to precache AFAIK, even the original devs never bothered. I think it may be due to the fact they are part of the $world entity (done at compile), do not have animations, and are 'baked' into the map (thus not being 'true' entities in the Quake sense). I think the precache system is only used to cache tiki animations. I'm not certain of this, but looking at the source code and the type of files it asks to precache, this is what it leads me to think.
If you are interested, here is the source code:
Code:
===============
TIKI_RegisterTikiAnimFlags
===============
*/
dtikianim_t *TIKI_RegisterTikiAnimFlags( const char *path, qboolean use )
{
dtikianim_t *tiki;
char filename[ 1024 ];
strcpy( filename, path );
FS_CanonicalFilename( filename );
if( tikianimcache )
{
dtikianim_t **t;
t = tikianimcache->find( filename );
if( t ) {
return *t;
}
}
else
{
tikianimcache = new con_map < pchar, dtikianim_t * > ;
}
tiki = TIKI_LoadTikiAnim( filename );
if( tiki )
{
if( use )
{
Com_Printf( "^~^~^ Add the following line to the *_precache.scr map script:\n" );
Com_Printf( "cache %s\n", filename );
}
( *tikianimcache )[ tiki->name ] = tiki;
}
return tiki;
}
The flicker and change in appearance of static models is likely due to the LOD system. You can change your LOD settings in-game which is why it may be different from person to person. For example, r_uselod 0 in console will stop LOD altogether. Most models come with a .lod file that is used by the rendering engine to determine the number of polys to show at a certain distance. The game even comes with a tool menu to generate these files. I've use it to fix LOD issues with the oil lamp, for instance, because the model never came with a .lod file and as such is culled after a few feet by the rendering engine.