Entity Cache

Posted Sep 9, 2014
Last Updated Jan 20, 2017

Entities are the neurons and brain of your level. Wall Worm allows you to place and modify entities inside 3ds Max as you would with Hammer. This page details how the Wall Worm Entities are generated and used.

The Entity Cache

In order to add entities to the level, you must create an entity cache. The entity cache are all of the custom attributes for the entities. These files are stored at this location (your path will be dependent on your Windows username and the version of Max you are using, which are parts highlighted in bold):

C:\Users\WindowsUser\AppData\Local\Autodesk\3dsMax\2016 - 64bit\ENU\scripts\WallWorm.com\entities

Each mod will have an entity cache in that folder:

  1. modname_entities.ms

These files store an array of available entities for point and brush entities, as well as custom attribute definitions that control the UI for each entity. If these cache files do not exist, you cannot create the relevant entities.

The entity cache system in Wall Worm is designed so that the FGD file must not be re-read every time Max is opened. Instead, the rules are saved into the cache files for later use.

Creating an Entity Cache

An entity cache is created when you add an FGD to your global settings or click the Reparse FGD button. FGD files are definitions of entities for a mod (and are the same files Hammer uses for defining entities). The easiest way to know what FGD file belongs to your mod is to use the Import function in the Global WW Settings which will set up all of your paths and get the correct FGD.

If your mod's FGD consists of more than one FGD, you need to make sure that the referenced FGDs exist in the same folder as your target FGD. For example, the TF2 mod uses the tf.fgd file which internally has a command to include another FGD:

@include "base.fgd"

This means that the TF mod requires the entity rules from base.fgd. For Wall Worm to correctly generate an entity cache for TF2, both tf.fgd and base.fgd must reside in the same folder. This is the way most mods come by default, but if setting up custom FGD directories it is important to know.

It can take the Entity Parser function several minutes to finish in the free version of WW. While reparsing, Max appears to be frozen. This is normal. WW Pro, however, will always parse in a few seconds.

  • The Entity Parser does not work in 3ds Max 2017 in the Free Version of WW due to an internal change in 3ds Max and MAXScript. If you need to use the entity functions in 3ds Max 2017, you need to upgrade to Wall Worm Pro or download and manually install the entity definitions for your mod if available (see below).

Because some Mods have malformed FGD files, and becasue WW has problems reading some files, here are a few entity definitions that you can manually extract (unzip) to your entities folder in the case of problems.

WW Entity Caches (1-20-2017)

thumbnail Source Engine Entities Source Engine Entities Entity caches for these games: Black Mesa, CS:S, CS:GO, Dear Esther, DOD:S, Day of Infamy, HL2, HL2 Deathmatch, L4D, L4D2, Portal, Portal 2 and TF2.
thumbnail Goldsource Entities Goldsource Entities Entity cache for some Goldsource Games: CS1.6, HL and DoD.

Updating Entity Cache Definitions

Every now and then there are updates to Wall Worm that add features or fix bugs in the entity system. Generally this will include new buttons in the entity UIs or addressing bugs in generating entity rules. You might also need up update your entity cache if the game's FGD was updated to include new entities or properties.

When this is done, you need to update your entity cache. This process is not done automatically and you must choose to do this yourself manually. The reason this is enacted is that the entity cache definitions are straight MAXScript custom attribute definitions that some users may customize with custom functions for their own needs.

If you have customized your entity definitions, you should make a backup of your existing entity cache (in the directories listed above) before updating your entity cache.

To update your entity cache, you must go to your global Wall Worm Settings and click the Reparse button above the list of FGDs. The currently selected FGD will be re-read and new entity definitions will be generated and saved into the entity cache files. As mentioned above, this function can sometime take several minutes; while the Entity Parser is running, Max will appear frozen and un-responsive.

Working with Entities

Articles on working with Source Engine entities in 3ds Max.

  1. Creating Entities
  2. Entity Cache