static void QRKeyListCallback ( PEER peer, qr2_key_type type, qr2_keybuffer_t keyBuffer, void * param ) { // register the keys we use switch(type) { case key_server: _tprintf(_T(" Key List Callback is being called for server keys\n")); if(!peerIsAutoMatching(peer)) { qr2_keybuffer_add(keyBuffer, HOSTPORT_KEY); qr2_keybuffer_add(keyBuffer, MAPNAME_KEY); qr2_keybuffer_add(keyBuffer, GAMETYPE_KEY); qr2_keybuffer_add(keyBuffer, TIMELIMIT_KEY); qr2_keybuffer_add(keyBuffer, FRAGLIMIT_KEY); qr2_keybuffer_add(keyBuffer, TEAMPLAY_KEY); } break; case key_player: _tprintf(_T(" Key List Callback is being called for player keys\n")); // no custom player keys break; case key_team: _tprintf(_T(" Key List Callback is being called for team keys\n")); // no custom team keys break; default: break; } GSI_UNUSED(param); }
XRGAMESPY_API void xrGS_qr2_keybuffer_add(qr2_keybuffer_t keybuffer, int keyid) { qr2_keybuffer_add(keybuffer, keyid); }
// called when we need to report the list of keys we report values for void keylist_callback(qr2_key_type keytype, qr2_keybuffer_t keybuffer, void *userdata) { AppDebug("Reporting keylist\n"); //need to add all the keys we support switch (keytype) { case key_server: qr2_keybuffer_add(keybuffer, HOSTNAME_KEY); qr2_keybuffer_add(keybuffer, GAMEVER_KEY); qr2_keybuffer_add(keybuffer, HOSTPORT_KEY); qr2_keybuffer_add(keybuffer, MAPNAME_KEY); qr2_keybuffer_add(keybuffer, GAMETYPE_KEY); qr2_keybuffer_add(keybuffer, NUMPLAYERS_KEY); qr2_keybuffer_add(keybuffer, NUMTEAMS_KEY); qr2_keybuffer_add(keybuffer, MAXPLAYERS_KEY); qr2_keybuffer_add(keybuffer, GAMEMODE_KEY); qr2_keybuffer_add(keybuffer, TEAMPLAY_KEY); qr2_keybuffer_add(keybuffer, FRAGLIMIT_KEY); qr2_keybuffer_add(keybuffer, TIMELIMIT_KEY); qr2_keybuffer_add(keybuffer, GRAVITY_KEY); //a custom key qr2_keybuffer_add(keybuffer, RANKINGON_KEY); //a custom key break; case key_player: qr2_keybuffer_add(keybuffer, PLAYER__KEY); qr2_keybuffer_add(keybuffer, SCORE__KEY); qr2_keybuffer_add(keybuffer, DEATHS__KEY); qr2_keybuffer_add(keybuffer, PING__KEY); qr2_keybuffer_add(keybuffer, TEAM__KEY); qr2_keybuffer_add(keybuffer, TIME__KEY); //a custom key break; case key_team: qr2_keybuffer_add(keybuffer, TEAM_T_KEY); qr2_keybuffer_add(keybuffer, SCORE_T_KEY); qr2_keybuffer_add(keybuffer, AVGPING_T_KEY); //a custom key break; default: break; } GSI_UNUSED(userdata); }