Category talk:Interfaces: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with '== Engine interfaces == ===eiface.h=== {| class="standard-table" ! Class ! Description ! Version string |- | IVEngineServer | Interface the engine exposes to the game DLL | INT…')
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Engine interfaces ==
== Engine interfaces ==


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


{| class="standard-table"
{| class="standard-table"
Line 8: Line 10:
! Version string
! Version string
|-
|-
| IVEngineServer
| [[IVEngineServer]]
| Interface the engine exposes to the game DLL
| Interface the engine exposes to the game DLL
| INTERFACEVERSION_VENGINESERVER
| INTERFACEVERSION_VENGINESERVER
|-
|-
| IServerGameDLL
| [[IServerGameDLL]]
| These are the interfaces that the game .dll exposes to the engine
| These are the interfaces that the game .dll exposes to the engine
| INTERFACEVERSION_SERVERGAMEDLL
| INTERFACEVERSION_SERVERGAMEDLL
|-
|-
| IServerGameEnts
| [[IServerGameEnts]]
| Interface to get at server entities
| Interface to get at server entities
| INTERFACEVERSION_SERVERGAMEENTS
| INTERFACEVERSION_SERVERGAMEENTS
|-
|-
| IServerGameClients
| [[IServerGameClients]]
| Player / Client related functions
| Player / Client related functions
| INTERFACEVERSION_SERVERGAMECLIENTS
| INTERFACEVERSION_SERVERGAMECLIENTS
|-
|-
| IUploadGameStats
| [[IUploadGameStats]]
| {{confirm|Steamworks stats}}
| {{confirm|Steamworks stats}}
| INTERFACEVERSION_UPLOADGAMESTATS
| INTERFACEVERSION_UPLOADGAMESTATS
|-
|-
| IPluginHelpersCheck
| [[IPluginHelpersCheck]]
| Allows the game dll to control which plugin functions can be run
| Allows the game dll to control which plugin functions can be run
| INTERFACEVERSION_PLUGINHELPERSCHECK
| INTERFACEVERSION_PLUGINHELPERSCHECK
|-
|-
| IPluginGameHelpers
| [[IPluginGameHelpers]]
| {{todo|Contains only SendMenu()}}
| {{todo|Contains only SendMenu()}}
| INTERFACEVERSION_PLUGINGAMEHELPERS
| INTERFACEVERSION_PLUGINGAMEHELPERS
|-
|-
| IServerDLLSharedAppSystems
| [[IServerDLLSharedAppSystems]]
| Interface exposed from the clientfor specifying shared .dll IAppSystems
| Interface exposed from the clientfor specifying shared .dll IAppSystems
| SERVER_DLL_SHARED_APPSYSTEMS
| SERVER_DLL_SHARED_APPSYSTEMS
|-
|-
| IServerGameTags
| [[IServerGameTags]]
| Querying the game dll for Server cvar tags
| Querying the game dll for Server cvar tags
| INTERFACEVERSION_SERVERGAMETAGS
| INTERFACEVERSION_SERVERGAMETAGS
|}
|}


=== vstlib/random.h ===
==== engine/iserverplugin.h ====


{| class="standard-table"
{| class="standard-table"
Line 52: Line 54:
! Version string
! Version string
|-
|-
| IUniformRandomStream
| [[IServerPluginCallbacks]]
| A generator of uniformly distributed random numbers
| VENGINE_SERVER_RANDOM_INTERFACE_VERSION (eiface.h)
|}
 
=== engine/iserverplugin.h ===
 
{| class="standard-table"
! Class
! Description
! Version string
|-
| IServerPluginCallbacks
| Callbacks the engine exposes to the 3rd party plugins (ala MetaMod)
| Callbacks the engine exposes to the 3rd party plugins (ala MetaMod)
| INTERFACEVERSION_ISERVERPLUGINCALLBACKS
| INTERFACEVERSION_ISERVERPLUGINCALLBACKS
|-
|-
| IServerPluginHelpers
| [[IServerPluginHelpers]]
| Functions that only 3rd party plugins need
| Functions that only 3rd party plugins need
| INTERFACEVERSION_ISERVERPLUGINHELPERS
| INTERFACEVERSION_ISERVERPLUGINHELPERS
|}
|}


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


{| class="standard-table"
{| class="standard-table"
Line 80: Line 70:
! Version string
! Version string
|-
|-
| IPlayerInfo
| [[IPlayerInfo]]
| Accessors to player data
| Accessors to player data
| None; use IPlayerInfoManager
| None; use IPlayerInfoManager
|-
|-
| IPlayerInfoManager
| [[IPlayerInfoManager]]
| Gets IPlayerInfo objects
| Gets IPlayerInfo objects
| INTERFACEVERSION_PLAYERINFOMANAGER
| INTERFACEVERSION_PLAYERINFOMANAGER
|-
|-
| IBotController
| [[IBotController]]
| Runs bot [[usercmd]]s, teleports them, etc.
| Runs bot [[usercmd]]s, teleports them, etc.
| INTERFACEVERSION_PLAYERBOTMANAGER
| INTERFACEVERSION_PLAYERBOTMANAGER
|}
|}


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


{| class="standard-table"
{| class="standard-table"
Line 100: Line 90:
! Version string
! Version string
|-
|-
| IGameEventManager2
| [[IGameEventManager2]]
| Keeps track and fires of all global game events
| Keeps track and fires of all global game events
| INTERFACEVERSION_GAMEEVENTSMANAGER2
| INTERFACEVERSION_GAMEEVENTSMANAGER2
|-
|-
| IGameEventListener2
| [[IGameEventListener2]]
| Receives event callbacks
| Receives event callbacks
| None; inherit from this
| None; inherit from this
|-
|-
| IGameEvent
| [[IGameEvent]]
| An event
| An event
| None; receive with IGameEventListener2
| None; receive with IGameEventListener2
|}
==== iclient.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IClient]]
| Handles clients from a server
| Unknown
|}
==== iserver.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IServer]]
| 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
|-
| [[IServerUnknown]]
| Ultra-generic object interface
| None
|}
==== iservernetworkable.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IServerNetworkable]]
| Interface the engine uses for all networkable data
| None
|}
=== Client ===
==== icliententity.h ====
{| class="standard-table"
! 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
|}
==== iprediction.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IPrediction]]
| Engine interface into client side prediction system
| VCLIENT_PREDICTION_INTERFACE_VERSION
|}
==== ienginevgui.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IEngineVGui]]
| [[VGUI]] - GetPanel() mostly.
| VENGINE_VGUI_VERSION
|}
==== IGameUIFuncs.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IGameUIFuncs]]
| {{todo}}
| VENGINE_GAMEUIFUNCS_VERSION
|}
=== Shared ===
==== vstlib/random.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[IUniformRandomStream]]
| A generator of uniformly distributed random numbers
| VENGINE_SERVER_RANDOM_INTERFACE_VERSION (eiface.h)
|}
==== engine/ICollideable.h ====
{| class="standard-table"
! Class
! Description
! Version string
|-
| [[ICollideable]]
| [[VPhysics]] object
| None
|}
|}

Latest revision as of 06: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

iprediction.h

Class Description Version string
IPrediction Engine interface into client side prediction system VCLIENT_PREDICTION_INTERFACE_VERSION

ienginevgui.h

Class Description Version string
IEngineVGui VGUI - GetPanel() mostly. VENGINE_VGUI_VERSION

IGameUIFuncs.h

Class Description Version string
IGameUIFuncs [Todo] VENGINE_GAMEUIFUNCS_VERSION

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