This article's documentation is for anything that uses the Source engine. Click here for more information.

Entity (GoldSrc)

From Valve Developer Community
Jump to navigation Jump to search
English (en)Translate (Translate)
Icon-under construction-blue.png
This is a draft page. It is a work in progress open to editing by anyone.
Remember to check for any notes left by the tagger at this article's talk page.

An object defined within GoldSrc GoldSrc as having characteristics which differentiate it from "the world" (world brushes).

Types of entities

Note.pngNote:These types are only from perspective of map editors and are based on FGD definitions or how map compilers deal with them [confirm]
Types Info
By Form
Brush entity A Brush Entity is an entity type created by tying an entity to a BSP geometry brush (bmodel) in the map, giving the brush a specific effect or ability defined by the entity tied to it.
(The default shortcut in Hammer 3.xJ.A.C.K. is Ctrl + T after selecting a brush)
Point entity Point Entities are entities created at a specific position point on the grid. Some require a model (MDL, BSP, or SPR) to be selected for them in order to function fully.
By Internality
Internal entity Internal entities are those which are processed by compilers then either deleted or merged into another entity. They do not exist when the map is running, so they won't count to the entity limit.
Internal entities get special treatment by the map compile tools and get removed from the final product, usually stored in a special chunk.
Examples of internal entities: func_group, func_detail, light_surface
Clarify: Some internal entities, such as info_texlights, remain in the entity lump, but are unrecognized by the game.
Non-Internal entity non-internal entities are not processed by the compilers and remains as a separate entity.
These are typically interactive objects or characters that the player can interact with or that affect gameplay.
Examples of non-internal entities: func_wall, trigger_relay, light, monster_scientist.

By how it's used

  • NPC/Monster entities - A non-player character. These usually inherit CBaseMonster.
  • Model entities - An entity which displays an MDL, SPR, or external BSP model. If an entity is specifically designed to display an MDL, it will usually (but not always) inherit CBaseAnimating, allowing the mapper to set bodygroups and skins. Any entity which allows the mapper to chose an arbitrary MDL, SPR, or BSP to display will support displaying any of the three formats, even if the entity is geared specifically for one.
  • Trigger entities - An entity which is invisible to players, but detects if a player enters it.
  • Logic entities - An entity which is invisible to players and is only used by the server to handle entity "logic". Despite being useless to clients, it still is networked, as GoldSrc does not have the concept of a server-side entity.

Limitations

Main article:  Entity limit

For reasons of memory allocation, there is a limit to the number of entities GoldSrc GoldSrc can manage at once. This will usually vary between 900 to 2048, depending upon the engine version and contents of liblist.gam.

The combined size (in bytes) of a map's entity data should also be considered, even if the number of entities is within safe limits. Large amounts of entdata can take a noticeably long time to transmit from server to client, and may lead to crashes.

See also