Wouldn't it be better to have:

void    (*pfnCvarValue)( const edict_t *pEnt, const char *cvar, const char
*value );

Instead?  In a multi-plugin system, it's easily conceivable you could
have more than one cvar request at a time.  The specification doesn't
say whether requests are stacked or if one request overwrites the
last... but either way, your callback won't know which cvar it's getting
information for.  If I'm wrong here, please clarify for me :)

   ---David "BAILOPAN" Anderson
   http://www.sourcemod.net/
   http://www.sourcemm.net/

Alfred Reynolds wrote:
----Original Message----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alfred
Reynolds Sent: Thursday, August 11, 2005 3:06 PM To:
hlds_apps@list.valvesoftware.com; Zeph; Ruiner Subject: [hlds_apps] New
engine API for CVAR queries


With the Half-Life 1: Engine release today we added a new API
function to allow a game server to query the value of clients CVAR
settings.

There was a new function added to the end of enginefuncs_t:
        void (*pfnQueryClientCvarValue)( const edict_t *player, const

char

*cvarName );

Calling this function requests the value of cvarName from player. The
result is returned via a callback from NEW_DLL_FUNCTIONS, here is the
complete NEW_DLL_FUNCTIONS definition:

typedef struct
{
        // Called right before the object's memory is freed.
        // Calls its destructor.
        void                    (*pfnOnFreeEntPrivateData)(edict_t
*pEnt);
        void                    (*pfnGameShutdown)(void);
        int                     (*pfnShouldCollide)( edict_t
*pentTouched, edict_t *pentOther );
        void                    (*pfnCvarValue)( const edict_t *pEnt,
const char *value );
} NEW_DLL_FUNCTIONS;

When the client responds to the cvar request you will get a callback
to
pfnCvarValue() with the edict of the player who is responding and the
cvars values.

This interface is implemented using a new server engine to client
engine network command (so there will be some delay from the request
to the response).  This new network protocol has NOT been versioned
(to minimise the impact of its release), if you wish to use it you
must make sure your users have an updated server before they try to
use it.

- Alfred


_______________________________________________
hlds_apps mailing list
hlds_apps@list.valvesoftware.com
http://list.valvesoftware.com/mailman/listinfo/hlds_apps


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders



_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to