Category talk:Interfaces: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Engine interfaces ==
== Engine interfaces ==


===eiface.h===
=== Server ===
 
==== eiface.h ====


{| class="standard-table"
{| class="standard-table"
Line 45: Line 47:
|}
|}


=== vstlib/random.h ===
==== engine/iserverplugin.h ====
 
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IUniformRandomStream]]
| A generator of uniformly distributed random numbers
| VENGINE_SERVER_RANDOM_INTERFACE_VERSION (eiface.h)
|}
 
=== engine/iserverplugin.h ===


{| class="standard-table"
{| class="standard-table"
Line 73: Line 63:
|}
|}


=== game/server/iplayerinfo.h ===
==== game/server/iplayerinfo.h ====


{| class="standard-table"
{| class="standard-table"
Line 93: Line 83:
|}
|}


=== igameevents.h ===
==== igameevents.h ====


{| class="standard-table"
{| class="standard-table"
Line 113: Line 103:
|}
|}


=== iclient.h ===
==== iclient.h ====


{| class="standard-table"
{| class="standard-table"
Line 125: Line 115:
|}
|}


=== icliententity.h ===
==== iserver.h ====


{| class="standard-table"
{| class="standard-table"
Line 132: Line 122:
! Version string
! Version string
|-
|-
| [[IClientEntity]]
| [[IServer]]
| All client entities must implement this interface.
| Functions related to clients, ticks and networking
| {{todo|Unknown}}
|}
 
==== iserverentity.h ====
 
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IServerEntity]]
| How the engine talks to entities in the game DLL
| None
| None
|-
|-
| [[IClientUnknown]]
| [[IServerUnknown]]
| Ultra-generic object interface
| Ultra-generic object interface
| None
|-
| [[IClientRenderable]]
| Rendering stuff
| None
|-
| [[IClientNetworkable]]
| Networking stuff
| None
|-
| [[IClientThinkable]]
| A [[Think()]]ing object
| None
| None
|}
|}


=== iserver.h ===
==== iservernetworkable.h ====


{| class="standard-table"
{| class="standard-table"
Line 160: Line 150:
! Version string
! Version string
|-
|-
| [[IServer]]
| [[IServerNetworkable]]
| Functions related to clients, ticks and networking
| Interface the engine uses for all networkable data
| {{todo|Unknown}}
| None
|}
|}


=== iserverentity.h ===
=== Client ===
 
==== icliententity.h ====


{| class="standard-table"
{| class="standard-table"
Line 172: Line 164:
! Version string
! Version string
|-
|-
| [[IServerEntity]]
| [[IClientEntity]]
| How the engine talks to entities in the game DLL
| All client entities must implement this interface.
| None
| None
|-
|-
| [[IServerUnknown]]
| [[IClientUnknown]]
| Ultra-generic object interface
| Ultra-generic object interface
| None
|-
| [[IClientRenderable]]
| Rendering stuff
| None
|-
| [[IClientNetworkable]]
| Networking stuff
| None
|-
| [[IClientThinkable]]
| A [[Think()]]ing object
| None
| None
|}
|}


=== engine/ICollideable.h ===
=== Shared ===
 
==== vstlib/random.h ====


{| class="standard-table"
{| class="standard-table"
Line 188: Line 194:
! Version string
! Version string
|-
|-
| [[ICollideable]]
| [[IUniformRandomStream]]
| [[VPhysics]] object
| A generator of uniformly distributed random numbers
| None
| VENGINE_SERVER_RANDOM_INTERFACE_VERSION (eiface.h)
|}
|}


=== iservernetworkable.h ===
==== engine/ICollideable.h ====


{| class="standard-table"
{| class="standard-table"
Line 200: Line 206:
! Version string
! Version string
|-
|-
| [[IServerNetworkable]]
| [[ICollideable]]
| Interface the engine uses for all networkable data
| [[VPhysics]] object
| None
| None
|}
|}

Revision as of 04:43, 14 September 2010

Engine interfaces

Server

eiface.h

Class Description Version string
IVEngineServer Interface the engine exposes to the game DLL INTERFACEVERSION_VENGINESERVER
IServerGameDLL These are the interfaces that the game .dll exposes to the engine INTERFACEVERSION_SERVERGAMEDLL
IServerGameEnts Interface to get at server entities INTERFACEVERSION_SERVERGAMEENTS
IServerGameClients Player / Client related functions INTERFACEVERSION_SERVERGAMECLIENTS
IUploadGameStats
Confirm:Steamworks stats
INTERFACEVERSION_UPLOADGAMESTATS
IPluginHelpersCheck Allows the game dll to control which plugin functions can be run INTERFACEVERSION_PLUGINHELPERSCHECK
IPluginGameHelpers
Todo: Contains only SendMenu()
INTERFACEVERSION_PLUGINGAMEHELPERS
IServerDLLSharedAppSystems Interface exposed from the clientfor specifying shared .dll IAppSystems SERVER_DLL_SHARED_APPSYSTEMS
IServerGameTags Querying the game dll for Server cvar tags INTERFACEVERSION_SERVERGAMETAGS

engine/iserverplugin.h

Class Description Version string
IServerPluginCallbacks Callbacks the engine exposes to the 3rd party plugins (ala MetaMod) INTERFACEVERSION_ISERVERPLUGINCALLBACKS
IServerPluginHelpers Functions that only 3rd party plugins need INTERFACEVERSION_ISERVERPLUGINHELPERS

game/server/iplayerinfo.h

Class Description Version string
IPlayerInfo Accessors to player data None; use IPlayerInfoManager
IPlayerInfoManager Gets IPlayerInfo objects INTERFACEVERSION_PLAYERINFOMANAGER
IBotController Runs bot usercmds, teleports them, etc. INTERFACEVERSION_PLAYERBOTMANAGER

igameevents.h

Class Description Version string
IGameEventManager2 Keeps track and fires of all global game events INTERFACEVERSION_GAMEEVENTSMANAGER2
IGameEventListener2 Receives event callbacks None; inherit from this
IGameEvent An event None; receive with IGameEventListener2

iclient.h

Class Description Version string
IClient Handles clients from a server Unknown

iserver.h

Class Description Version string
IServer Functions related to clients, ticks and networking
Todo: Unknown

iserverentity.h

Class Description Version string
IServerEntity How the engine talks to entities in the game DLL None
IServerUnknown Ultra-generic object interface None

iservernetworkable.h

Class Description Version string
IServerNetworkable Interface the engine uses for all networkable data None

Client

icliententity.h

Class Description Version string
IClientEntity All client entities must implement this interface. None
IClientUnknown Ultra-generic object interface None
IClientRenderable Rendering stuff None
IClientNetworkable Networking stuff None
IClientThinkable A Think()ing object None

Shared

vstlib/random.h

Class Description Version string
IUniformRandomStream A generator of uniformly distributed random numbers VENGINE_SERVER_RANDOM_INTERFACE_VERSION (eiface.h)

engine/ICollideable.h

Class Description Version string
ICollideable VPhysics object None