<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thedarkmod.com/index.php?action=history&amp;feed=atom&amp;title=Precaching_%28def_files%29</id>
	<title>Precaching (def files) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thedarkmod.com/index.php?action=history&amp;feed=atom&amp;title=Precaching_%28def_files%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;action=history"/>
	<updated>2026-05-03T05:57:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=6661&amp;oldid=prev</id>
		<title>Greebo at 13:07, 2 July 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=6661&amp;oldid=prev"/>
		<updated>2008-07-02T13:07:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:07, 2 July 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l185&quot;&gt;Line 185:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 185:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Scripting]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{editing}} {{sdk}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Greebo</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=2173&amp;oldid=prev</id>
		<title>89.83.186.82: /* What does pre-caching actually do? */</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=2173&amp;oldid=prev"/>
		<updated>2007-01-26T22:46:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;What does pre-caching actually do?&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:46, 26 January 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What does pre-caching actually do? ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What does pre-caching actually do? ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It loads the data to be &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chached&lt;/del&gt;, at loading time of the map. Thus it prevents excessive disk hits at playtime, which can cause sutterting in the map while playing.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It loads the data to be &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cached&lt;/ins&gt;, at loading time of the map. Thus it prevents excessive disk hits at playtime, which can cause sutterting in the map while playing.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order to precache things in your def file, you must use specific prefixes. For example, if your def file contains another entity to spawn, use &amp;quot;def_&amp;lt;description of entity&amp;gt;&amp;quot; for the key name, and that other entity will also be precached. Models must have &amp;quot;model_&amp;lt;description&amp;gt;&amp;quot;, sounds must have &amp;quot;snd_&amp;lt;description&amp;gt;&amp;quot;, guis must have &amp;quot;gui_*&amp;quot; materials &amp;quot;mtr_*&amp;quot;, etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order to precache things in your def file, you must use specific prefixes. For example, if your def file contains another entity to spawn, use &amp;quot;def_&amp;lt;description of entity&amp;gt;&amp;quot; for the key name, and that other entity will also be precached. Models must have &amp;quot;model_&amp;lt;description&amp;gt;&amp;quot;, sounds must have &amp;quot;snd_&amp;lt;description&amp;gt;&amp;quot;, guis must have &amp;quot;gui_*&amp;quot; materials &amp;quot;mtr_*&amp;quot;, etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>89.83.186.82</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=1766&amp;oldid=prev</id>
		<title>Greebo at 05:35, 11 September 2006</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Precaching_(def_files)&amp;diff=1766&amp;oldid=prev"/>
		<updated>2006-09-11T05:35:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Original_Reference|Ishtvan|3798}}&lt;br /&gt;
&lt;br /&gt;
Some people probably knew about this already (at least Gildoran seems to have), but I didn&amp;#039;t know about it and other FM authors might end up making their own def files, so I think we should document it:&lt;br /&gt;
&lt;br /&gt;
== What does pre-caching actually do? ==&lt;br /&gt;
It loads the data to be chached, at loading time of the map. Thus it prevents excessive disk hits at playtime, which can cause sutterting in the map while playing.&lt;br /&gt;
&lt;br /&gt;
In order to precache things in your def file, you must use specific prefixes. For example, if your def file contains another entity to spawn, use &amp;quot;def_&amp;lt;description of entity&amp;gt;&amp;quot; for the key name, and that other entity will also be precached. Models must have &amp;quot;model_&amp;lt;description&amp;gt;&amp;quot;, sounds must have &amp;quot;snd_&amp;lt;description&amp;gt;&amp;quot;, guis must have &amp;quot;gui_*&amp;quot; materials &amp;quot;mtr_*&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
I copied the code that precaches things so you can see all the prefixes. Every time you see MatchPrefix( &amp;quot;&amp;lt;something&amp;gt;&amp;quot; ), it means the key for tha thing must begin with &amp;lt;something&amp;gt; in order for it to cache.&lt;br /&gt;
&lt;br /&gt;
== The Code ==&lt;br /&gt;
 /*&lt;br /&gt;
 =================== &lt;br /&gt;
 idGameLocal::CacheDictionaryMedia&lt;br /&gt;
 &lt;br /&gt;
 This is called after parsing an EntityDef and for each entity spawnArgs before&lt;br /&gt;
 merging the entitydef.  It could be done post-merge, but that would&lt;br /&gt;
 avoid the fast pre-cache check associated with each entityDef&lt;br /&gt;
 ===================&lt;br /&gt;
 */&lt;br /&gt;
 void idGameLocal::CacheDictionaryMedia( const idDict *dict ) {&lt;br /&gt;
    const idKeyValue *kv;&lt;br /&gt;
 &lt;br /&gt;
    if ( dict == NULL ) {&lt;br /&gt;
        if ( cvarSystem-&amp;gt;GetCVarBool( &amp;quot;com_makingBuild&amp;quot;) ) {&lt;br /&gt;
            DumpOggSounds();&lt;br /&gt;
        }&lt;br /&gt;
        return;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    if ( cvarSystem-&amp;gt;GetCVarBool( &amp;quot;com_makingBuild&amp;quot; ) ) {&lt;br /&gt;
        GetShakeSounds( dict );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;model&amp;quot; );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;MediaPrint( &amp;quot;Precaching model %s\n&amp;quot;, kv-&amp;gt;GetValue().c_str() );&lt;br /&gt;
            // precache model/animations&lt;br /&gt;
            if ( declManager-&amp;gt;FindType( DECL_MODELDEF, kv-&amp;gt;GetValue(), false ) == NULL ) {&lt;br /&gt;
                // precache the render model&lt;br /&gt;
                renderModelManager-&amp;gt;FindModel( kv-&amp;gt;GetValue() );&lt;br /&gt;
                // precache .cm files only&lt;br /&gt;
                collisionModelManager-&amp;gt;LoadModel( kv-&amp;gt;GetValue(), true );&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;model&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;FindKey( &amp;quot;s_shader&amp;quot; );&lt;br /&gt;
    if ( kv &amp;amp;&amp;amp; kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
        declManager-&amp;gt;FindType( DECL_SOUND, kv-&amp;gt;GetValue() );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;snd&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_SOUND, kv-&amp;gt;GetValue() );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;snd&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;gui&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            if ( !idStr::Icmp( kv-&amp;gt;GetKey(), &amp;quot;gui_noninteractive&amp;quot; )&lt;br /&gt;
                || !idStr::Icmpn( kv-&amp;gt;GetKey(), &amp;quot;gui_parm&amp;quot;, 8 )    &lt;br /&gt;
                || !idStr::Icmp( kv-&amp;gt;GetKey(), &amp;quot;gui_inventory&amp;quot; ) ) {&lt;br /&gt;
                // unfortunate flag names, they aren&amp;#039;t actually a gui&lt;br /&gt;
            } else {&lt;br /&gt;
                declManager-&amp;gt;MediaPrint( &amp;quot;Precaching gui %s\n&amp;quot;, kv-&amp;gt;GetValue().c_str() );&lt;br /&gt;
                idUserInterface *gui = uiManager-&amp;gt;Alloc();&lt;br /&gt;
                if ( gui ) {&lt;br /&gt;
                    gui-&amp;gt;InitFromFile( kv-&amp;gt;GetValue() );&lt;br /&gt;
                    uiManager-&amp;gt;DeAlloc( gui );&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;gui&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;FindKey( &amp;quot;texture&amp;quot; );&lt;br /&gt;
    if ( kv &amp;amp;&amp;amp; kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
        declManager-&amp;gt;FindType( DECL_MATERIAL, kv-&amp;gt;GetValue() );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;mtr&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_MATERIAL, kv-&amp;gt;GetValue() );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;mtr&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // handles hud icons&lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;inv_icon&amp;quot;, NULL );&lt;br /&gt;
    while ( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_MATERIAL, kv-&amp;gt;GetValue() );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;inv_icon&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    // handles teleport fx.. this is not ideal but the actual decision on which fx to use&lt;br /&gt;
    // is handled by script code based on the teleport number&lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;teleport&amp;quot;, NULL );&lt;br /&gt;
    if ( kv &amp;amp;&amp;amp; kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
        int teleportType = atoi( kv-&amp;gt;GetValue() );&lt;br /&gt;
        const char *p = ( teleportType ) ? va( &amp;quot;fx/teleporter%i.fx&amp;quot;, teleportType ) : &amp;quot;fx/teleporter.fx&amp;quot;;&lt;br /&gt;
        declManager-&amp;gt;FindType( DECL_FX, p );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;fx&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;MediaPrint( &amp;quot;Precaching fx %s\n&amp;quot;, kv-&amp;gt;GetValue().c_str() );&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_FX, kv-&amp;gt;GetValue() );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;fx&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;smoke&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            idStr prtName = kv-&amp;gt;GetValue();&lt;br /&gt;
            int dash = prtName.Find(&amp;#039;-&amp;#039;);&lt;br /&gt;
            if ( dash &amp;gt; 0 ) {&lt;br /&gt;
                prtName = prtName.Left( dash );&lt;br /&gt;
            }&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_PARTICLE, prtName );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;smoke&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;skin&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;MediaPrint( &amp;quot;Precaching skin %s\n&amp;quot;, kv-&amp;gt;GetValue().c_str() );&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_SKIN, kv-&amp;gt;GetValue() );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;skin&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;def&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            FindEntityDef( kv-&amp;gt;GetValue().c_str(), false );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;def&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;pda_name&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_PDA, kv-&amp;gt;GetValue().c_str(), false );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;pda_name&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;video&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_VIDEO, kv-&amp;gt;GetValue().c_str(), false );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;video&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;audio&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_AUDIO, kv-&amp;gt;GetValue().c_str(), false );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;audio&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    kv = dict-&amp;gt;MatchPrefix( &amp;quot;xdata&amp;quot;, NULL );&lt;br /&gt;
    while( kv ) {&lt;br /&gt;
        if ( kv-&amp;gt;GetValue().Length() ) {&lt;br /&gt;
            declManager-&amp;gt;FindType( DECL_XDATA, kv-&amp;gt;GetValue().c_str(), false );&lt;br /&gt;
        }&lt;br /&gt;
        kv = dict-&amp;gt;MatchPrefix( &amp;quot;xdata&amp;quot;, kv );&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Greebo</name></author>
	</entry>
</feed>