port: net: handle UCMD_ACTIVATE as a press

This commit is contained in:
fgsfds committed 2024-01-16 01:27:03 +01:00
1 parent c444e76ecb
commit 7288947390
2 files changed
+6 -3

No files matched your search

+2 -1
View File
@@ -262,7 +262,8 @@ static inline s32 netClientNeedReliableMove(const struct netclient *cl)
const struct netplayermove *move = &cl->outmove[0];
const struct netplayermove *moveprev = &cl->outmove[1];
return !moveprev->tick || (g_NetMode == NETMODE_SERVER && cl->forcetick) ||
(moveprev->ucmd & UCMD_IMPORTANT_MASK) != (move->ucmd & UCMD_IMPORTANT_MASK);
(moveprev->ucmd & UCMD_IMPORTANT_MASK) != (move->ucmd & UCMD_IMPORTANT_MASK) ||
(move->ucmd & UCMD_ACTIVATE);
}
static inline s32 netClientNeedMove(const struct netclient *cl)
+4 -2
View File
@@ -123,6 +123,8 @@ static inline void bmoveProcessRemoteInput(const bool allowc1buttons)
moveticks = g_NetInterpTicks;
}
const bool handled = (pl->client->inmovetick >= inmove->tick);
if (!inmove->tick) {
// no input
inmove->pos = inmoveprev->pos = pl->prop->pos;
@@ -206,12 +208,12 @@ static inline void bmoveProcessRemoteInput(const bool allowc1buttons)
netmsgSvcPlayerStatsWrite(&g_NetMsgRel, pl->client);
}
if (inmove->ucmd & UCMD_RELOAD) {
if (!handled && (inmove->ucmd & UCMD_RELOAD)) {
pl->bondactivateorreload |= JO_ACTION_RELOAD;
}
if (g_NetMode == NETMODE_SERVER) {
if (inmove->ucmd & UCMD_ACTIVATE) {
if (!handled && (inmove->ucmd & UCMD_ACTIVATE)) {
pl->bondactivateorreload |= JO_ACTION_ACTIVATE;
}