GRF - "Groff" file. Holds level instance data, including mesh data and Value table entries.
PID - Picture Index file. References SWP entries, stores palette data and various other important data flags.
SPZ - "Swap Zip" file. Used by the retail game to store compressed versions of the SWP files, extracted on level-load.
PID - Picture ID (identification) file. References SWP entires and stores name and other data.
WTD - "World Terrain Data" file. Stores terrain quad-division & height data.
SCN - "Scene" file. Stores redundant object population data (names, locations, etc.) and "scene partitions." Can differ from name of level it "points" to; there may be multiple SCN files for a single level, including the use of a different starting player location.
TPA - "TresPasser Audio" file. Used to store WAV sound files used by Trespasser, found in 4 types (Menu (for the menu), Stream (for voiceovers, music, and any sound with no environment calculation), Effects (for sound material resources and special sound effects), and Ambient (for world ambient sounds such as birds and waterfalls).
AT - ActionType.
AI - Artificial Intelligence.
Palette - Trespasser uses 8-bit BMP image files, which store a "palette" of up to 256 pre-defined colors. Trespasser levels by default can hold only up to 98 palettes; it is possible to increase this but not recommended. Terrain textures within a level must share the same palette to be rendered properly.
Object - A set of inter-referenced models which "act" as a single entity.
Model / Mesh - A single set of geometric points, faces, and UV coordinates.
Subobject / Submodel - These terms have been used interchangeably even if incorrectly done so (just a habit). Technically in 3D lingo, the sub-object level is anything "below" the mesh level, meaning vertices, edges, faces, etc. In Tres lingo, it is also used to refer to the same as "submodel", which is any object assigned as one of the "models" for a Compound-type object in Trespasser, almost always beginning with "$".
Parent - The object from which cloned instances are "parented". The parent of any instance is the "-00" instance (if it exists in the level), which is used to reference the actual mesh data from the GRF.
Master - When object hierarchies are established using submodels or magnets, the "master" of an object is the one directly above it which governs where it, the "slave" object, will go.
Slave - See Master.
Mipmap - When textures are imported into a SWP file, several levels of smaller versions are also created. These smaller versions are used based on the size of the visible faces using them in relation to the screen (smaller faces will stay mipmaped "longer" during approach).
LOD - "Level Of Detail" model. Sometimes a separate, simpler model will be included with an object to be rendered at pre-defined distances instead of the "real" object, to lighten rendering stresses. It ultimately does add considerable bulk to the SWP file size.
Sprite - A flat, 2D image used to represent a visible entity. Trespasser uses sprites to render objects at a distance until they "pop" into their true 3D forms. The game will never actually render a full 3D LOD, but instead use the LOD model to create a sprite, in theory saving the process of generating a sprite from a higher-poly larger-texture object.
Basement - An area of a level entirely removed from gameplay (usually also in an area of no terrain) in which "base" models (-00 etc.) are kept for easy access.
hppav wrote:You forgot the mesh prefixes
These are the general ones:
F - Fixed Physics (Used on things like buildings and other immovable objects, import with GeometryType = 1 in the values.txt)
$ - Interactive Physics (The Money Shot, also used on any mesh that will be copied several times like Trees)
S - Static Mesh (Used for things like buildings and the like)
P - Physical Mesh (Typically used on interactive objects)
T - Terrain (Used on rocks and other 3D terrain geometry as well as interactive water and oceans)
V - Vegetation (Trees, bushes, shrubs, grass, anything of that type)
M - Magnet
TrnObj - Terrain Objects (Meshes used to project a texture onto the Terrain itself, must share the same pallet as other TrnObj files in the level)
Trig - Triggers
There are more out there, but these are the basic ones. There are also some variations for individual levels (such as TPV for Terrain Pine Valley). Everything above generally comes with a suffix (-00) except for the F and $ meshes. Typically if you have multiple variations of the same object you would have a more complete suffix (00-00, 01-00) with the first number changing for each variation to create separate master meshes, the second number changes with each clone you make. You do not copy $ objects when you clone, they are automatically assigned to the objects by the engine (making it much easier to put the levels together).
Maybe it would be a good idea to add in class names and descriptions? (IE: CSky, CStartTrigger, AICommand, etc.)