{"id":605,"date":"2010-07-25T18:45:37","date_gmt":"2010-07-26T02:45:37","guid":{"rendered":"http:\/\/technofovea.com\/blog\/?p=605"},"modified":"2010-07-25T18:48:09","modified_gmt":"2010-07-26T02:48:09","slug":"map-includes-for-various-mods","status":"publish","type":"post","link":"http:\/\/technofovea.com\/blog\/archives\/605","title":{"rendered":"&#8220;Map includes&#8221; for various mods"},"content":{"rendered":"<p>For PackBsp 2.0.2, I&#8217;m working on a configuration system for various &#8220;map includes&#8221;, or things which various mods need which are directly affected by the name of the map. For example, consider internationalized map descriptions. As a general rule, they follow the form of\u00c2\u00a0<code>maps\/%m_%l.txt<\/code>, where <code>%m <\/code>is the map&#8217;s name without the trailing <code>.bsp<\/code> extension, and <code>%l<\/code> is one of many different language codes.<\/p>\n<p>I need help to make sure that this system has good default values that will work for most people. The plan is that it will first look at the name of the game (ex. <code>Team Fortress 2<\/code>) and also at the engine code (ex. <code>orangebox<\/code>). Using those it will find the different include patterns that are necessary for that particular game.<\/p>\n<p><!--more--><\/p>\n<p>The problem is that without having mapped for each game, I don&#8217;t really know what each one needs in terms of these includes. Here&#8217;s what I have so far, in the user-editable configuration file:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;\r\n&lt;mapIncludes&gt;\r\n    &lt;include id=&quot;soundscape&quot;\r\n             path=&quot;scripts\/soundscapes_%m.txt&quot; type=&quot;soundscape&quot;\/&gt;\r\n    &lt;include id=&quot;particlemanifest&quot;\r\n             path=&quot;maps\/%m_particles.txt&quot; type=&quot;particles&quot;\/&gt;\r\n    &lt;include id=&quot;ain&quot;\r\n             path=&quot;maps\/graphs\/%m.ain&quot; type=&quot;plain&quot;\/&gt;\r\n    &lt;include id=&quot;nav&quot;\r\n             path=&quot;maps\/%m.nav&quot; type=&quot;plain&quot;\/&gt;\r\n    &lt;include id=&quot;description&quot;\r\n             path=&quot;maps\/%m.txt&quot; type=&quot;plain&quot;\/&gt;\r\n    &lt;include id=&quot;international_description&quot;\r\n             path=&quot;maps\/%m_%l.txt&quot; type=&quot;plain&quot;\/&gt;\r\n    &lt;include id=&quot;photos&quot;\r\n             path=&quot;materials\/vgui\/maps\/menu_photos_%m.vmt&quot; type=&quot;material&quot;\/&gt;\r\n    &lt;include id=&quot;overview&quot;\r\n             path=&quot;materials\/overviews\/%m.vmt&quot; type=&quot;material&quot;\/&gt;\r\n    &lt;include id=&quot;overview_text&quot;\r\n             path=&quot;resource\/overviews\/%m.txt&quot; type=&quot;plain&quot;\/&gt;\r\n    &lt;include id=&quot;radar&quot;\r\n             path=&quot;materials\/overviews\/%m_radar.vmt&quot; type=&quot;material&quot;\/&gt;\r\n\r\n\r\n    &lt;game name=&quot;:base&quot;&gt;\r\n        &lt;includeIds&gt;description international_description&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n\r\n    &lt;game name=&quot;engine:ep1&quot; parent=&quot;:base&quot;&gt;\r\n        &lt;includeIds&gt;&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n\r\n    &lt;game name=&quot;engine:source2007&quot; parent=&quot;engine:ep1&quot;&gt;\r\n        &lt;includeIds&gt;soundscape&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n\r\n    &lt;game name=&quot;engine:orangebox&quot; parent=&quot;engine:source2007&quot;&gt;\r\n        &lt;includeIds&gt;soundscape particlemanifest &lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n\r\n    &lt;game name=&quot;game:Team Fortress 2&quot; parent=&quot;engine:orangebox&quot;&gt;\r\n        &lt;includeIds&gt;nav photos&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n    \r\n    &lt;game name=&quot;game:Counter-Strike: Source&quot; parent=&quot;engine:orangebox&quot;&gt;\r\n        &lt;includeIds&gt;nav ain overview overview_text radar&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n\r\n    &lt;game name=&quot;game:Day of Defeat: Source&quot; parent=&quot;engine:orangebox&quot;&gt;\r\n        &lt;includeIds&gt;nav ain overview overview_text&lt;\/includeIds&gt;\r\n    &lt;\/game&gt;\r\n&lt;\/mapIncludes&gt;\r\n<\/pre>\n<p>Actually getting the <b>content<\/b> of this right is the main thing holding back 2.0.2 right now. What do I put for HL2, HL2:Ep1, HL2:Ep2, etc? Which things are specific to games, versus generally applied to all games on the same engine?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For PackBsp 2.0.2, I&#8217;m working on a configuration system for various &#8220;map includes&#8221;, or things which various mods need which are directly affected by the name of the map. For example, consider internationalized map descriptions. As a general rule, they follow the form of\u00c2\u00a0maps\/%m_%l.txt, where %m is the map&#8217;s name without the trailing .bsp extension, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[8],"_links":{"self":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/605"}],"collection":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/comments?post=605"}],"version-history":[{"count":8,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/605\/revisions"}],"predecessor-version":[{"id":614,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/posts\/605\/revisions\/614"}],"wp:attachment":[{"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/media?parent=605"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/categories?post=605"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/technofovea.com\/blog\/wp-json\/wp\/v2\/tags?post=605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}