diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-16 20:16:27 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-16 20:16:27 +0000 |
| commit | b03d26b8866e04567f21cee3fcd37a9ca673ea3b (patch) | |
| tree | 5d04ea9eed4b826ab0102cb2d92b1e2b7b908a4c /src/engine | |
| parent | b31d63b4d8574be79c15030421becf4980978514 (diff) | |
| download | zcatch-b03d26b8866e04567f21cee3fcd37a9ca673ea3b.tar.gz zcatch-b03d26b8866e04567f21cee3fcd37a9ca673ea3b.zip | |
fixed so that the score is reported correctly
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/e_interface.h | 1 | ||||
| -rw-r--r-- | src/engine/server/es_server.c | 11 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/engine/e_interface.h b/src/engine/e_interface.h index b8a0a6a7..170d1ba5 100644 --- a/src/engine/e_interface.h +++ b/src/engine/e_interface.h @@ -754,6 +754,7 @@ const char *mods_net_version(); int server_getclientinfo(int client_id, CLIENT_INFO *info); const char *server_clientname(int client_id); void server_setclientname(int client_id, const char *name); +void server_setclientscore(int client_id, int score); void server_setbrowseinfo(int game_type, int progression); diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c index c8bdebc0..675e778c 100644 --- a/src/engine/server/es_server.c +++ b/src/engine/server/es_server.c @@ -89,6 +89,7 @@ typedef struct char name[MAX_NAME_LENGTH]; char clan[MAX_CLANNAME_LENGTH]; + int score; } CLIENT; static CLIENT clients[MAX_CLIENTS]; @@ -192,6 +193,13 @@ void server_setclientname(int client_id, const char *name) strncpy(clients[client_id].name, name, MAX_NAME_LENGTH); } +void server_setclientscore(int client_id, int score) +{ + if(client_id < 0 || client_id > MAX_CLIENTS || clients[client_id].state < SRVCLIENT_STATE_READY) + return; + clients[client_id].score = score; +} + void server_setbrowseinfo(int game_type, int progression) { browseinfo_gametype = game_type; @@ -451,6 +459,7 @@ static int new_client_callback(int cid, void *user) snapstorage_purge_all(&clients[cid].snapshots); clients[cid].last_acked_snapshot = -1; + clients[cid].score = 0; return 0; } @@ -650,7 +659,7 @@ static void server_send_serverinfo(NETADDR4 *addr) if(clients[i].state != SRVCLIENT_STATE_EMPTY) { packer_add_string(&p, clients[i].name, 48); /* player name */ - packer_add_string(&p, "0", 6); /* score */ + sprintf(buf, "%d", clients[i].score); packer_add_string(&p, buf, 6); /* player score */ } } |