Tier1: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (Added it to Category:Tier1.)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''<code>Tier1</code>''' contains Valve's version of the [[Wikipedia:Standard Template Library|Standard Template Library]]. It also provides various other Source-specific features, most notably console commands and variables.
'''<code>Tier1</code>''' contains Valve's version of the [[Wikipedia:Standard Template Library|Standard Template Library]], known as <code>CUtl</code> (high-performance game engines [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html#Motivation rarely use an operating system's own STL implementation]). It also provides various other Source-specific features, most notably console commands/variables.


{{note|AAA game engines rarely use an operating system's own STL for performance reasons. [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html#Motivation More details here].}}
Tier1's source is included in the SDK at <code>\root\tier1\</code>. It compiles to a [[w:Static library|static library]] that is linked by both game DLLs.
 
Tier1's source is included in the SDK at <code>root\tier1\</code>, but the compiled library shipped with the engine lives outside the game directory and as such cannot be overridden by mods. It is perfectly possible to copy parts of the Tier1 source over to your mod's own codebase, however.


== Components ==
== Components ==
Line 10: Line 8:


=== General ===
=== General ===
 
<div style="-moz-column-count:4;-webkit-column-count:4;">
* <code>[[bf_read]]</code>
* <code>[[bf_read]]</code>
* <code>[[bf_write]]</code>
* <code>[[bf_write]]</code>
Line 30: Line 28:
* <code>[[ConVar]]</code>
* <code>[[ConVar]]</code>
* <code>[[CStringPool]]</code>
* <code>[[CStringPool]]</code>
* <code>[[KeyValues]]</code>
</div>


=== CUtl ===
=== CUtl ===
 
<div style="-moz-column-count:4;-webkit-column-count:4;">
* <code>[[CUtlBinaryBlock]]</code>
* <code>[[CUtlBinaryBlock]]</code>
* <code>[[CUtlBuffer]]</code>
* <code>[[CUtlBuffer]]</code>
Line 60: Line 60:
* <code>[[CUtlSymbolTable]]</code>
* <code>[[CUtlSymbolTable]]</code>
* <code>[[CUtlVector]]</code>
* <code>[[CUtlVector]]</code>
* <code>[[CUtlFlags]]</code>
</div>


[[Category:Engine Structure]]
[[Category:Engine Structure]]
[[Category:Tier1]]

Latest revision as of 10:44, 22 March 2012

Tier1 contains Valve's version of the Standard Template Library, known as CUtl (high-performance game engines rarely use an operating system's own STL implementation). It also provides various other Source-specific features, most notably console commands/variables.

Tier1's source is included in the SDK at \root\tier1\. It compiles to a static library that is linked by both game DLLs.

Components

This list does not include "variations on a theme". Open Tier1's project and inspect its contents for yourself if you want a complete run-down.

General

CUtl