Skip to content

Commit 47ad525

Browse files
committed
Implement LOG_MATCHSTART and friends.
Enum was already declared, implement it and the related events to support for example emitting 0 item counters at match start to get a baseline per player.
1 parent ce06fb9 commit 47ad525

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/logger.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,18 @@ static log_eventlogger_type_t Log_ParseEventloggerType(const char *event_logger_
9898
{
9999
return LOG_MATCHSTART;
100100
}
101+
else if (!strcasecmp(event_logger_type, "MATCHSTART_ALL"))
102+
{
103+
return LOG_MATCHSTART_ALL;
104+
}
105+
else if (!strcasecmp(event_logger_type, "MATCHSTART_ALL_BETWEEN"))
106+
{
107+
return LOG_MATCHSTART_ALL_BETWEEN;
108+
}
109+
else if (!strcasecmp(event_logger_type, "MATCHSTART_FINAL"))
110+
{
111+
return LOG_MATCHSTART_FINAL;
112+
}
101113
else if (!strcasecmp(event_logger_type, "MATCHEND"))
102114
{
103115
return LOG_MATCHEND;

src/logger.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ typedef enum log_eventlogger_type_s
3232
LOG_MOVE,
3333
LOG_MATCHSTART,
3434
LOG_MATCHSTART_ALL,
35+
LOG_MATCHSTART_ALL_BETWEEN,
36+
LOG_MATCHSTART_FINAL,
3537
LOG_MATCHEND,
3638
LOG_MATCHEND_ALL,
3739
LOG_DEMOSTART,

src/netmsg_parser.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1374,12 +1374,30 @@ static void NetMsg_Parser_Parse_svc_serverinfo(mvd_info_t *mvd)
13741374

13751375
if (!mvd->serverinfo.match_started && !strcmp(key, "status") && strcmp(value, "Countdown"))
13761376
{
1377+
int i;
1378+
qbool any = false;
1379+
13771380
// TODO : Do a better check here maybe?
13781381
// If the status is not countdown, the match has started.
13791382
mvd->serverinfo.match_started = true;
13801383
mvd->match_start_demotime = mvd->demotime;
13811384

13821385
Log_Event(&logger, mvd, LOG_MATCHSTART, -1);
1386+
1387+
for (i = 0; i < MAX_PLAYERS; i++)
1388+
{
1389+
if (!PLAYER_ISVALID(&mvd->players[i]))
1390+
{
1391+
continue;
1392+
}
1393+
1394+
if (any)
1395+
Log_Event(&logger, mvd, LOG_MATCHSTART_ALL_BETWEEN, i);
1396+
Log_Event(&logger, mvd, LOG_MATCHSTART_ALL, i);
1397+
any = true;
1398+
}
1399+
1400+
Log_Event(&logger, mvd, LOG_MATCHSTART_FINAL, -1);
13831401
}
13841402

13851403
NetMsg_Parser_ParseServerInfo(mvd);

0 commit comments

Comments
 (0)