Tier1: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
(correction and layout)
Line 1: Line 1:
'''<code>Tier1</code>''' contains Valve's version of the [[Wikipedia:Standard Template Library|Standard Template Library]], known as <code>CUtl</code>. 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>. It also provides various other Source-specific features, most notably console commands and variables. (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].)


{{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 since the compiled library (<code>tier1.dll</code>) lives outside the game directory it cannot be changed by mods. It is perfectly possible to copy parts of the Tier1 source over to your 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 31: Line 29:
* <code>[[CStringPool]]</code>
* <code>[[CStringPool]]</code>
* <code>[[KeyValues]]</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 61: Line 60:
* <code>[[CUtlSymbolTable]]</code>
* <code>[[CUtlSymbolTable]]</code>
* <code>[[CUtlVector]]</code>
* <code>[[CUtlVector]]</code>
</div>


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

Revision as of 02:06, 10 April 2010

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

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