Notes |
|
|
|
|
|
Thanks, this seems to work, but I found some issues.
* The duel "champion" string is not frozen, though I'm not sure if it matters anyway right now, since the string is not even displayed in the intermission screen.
* It doesn't work right in LMS and Possession (though TeamLMS and TeamPossession seem fine), it always says "x has won with 1 win/point" even if the winlimit/pointlimit value is set higher than 1. This will affect the Megaman community since they seem to mostly play LMS-based modes.
I think this might partially be because the modes only check for the limits erroneously after win sequences in these modes instead of before like the other modes like TeamDM/CTF etc. |
|
|
|
Quote from unknownna It doesn't work right in LMS and Possession (though TeamLMS and TeamPossession seem fine), it always says "x has won with 1 win/point" even if the winlimit/pointlimit value is set higher than 1. This will affect the Megaman community since they seem to mostly play LMS-based modes.
This should now be fixed in this topic:'https://foss.heptapod.net/zandronum/zandronum-stable/-/commits/topic/default/clear-winner-multiple-rounds [^]'
Since I made a slight refactor of the code too, it'd be great if you can test this out thoroughly again to make sure everything's working correctly.
Quote from unknownna The duel "champion" string is not frozen, though I'm not sure if it matters anyway right now, since the string is not even displayed in the intermission screen.
I'll see what I can do with this, but I imagine that also happens in 3.1 and earlier, right? It might not be too urgent to address this right now, also because the current champion isn't always the same as the winner of a duel. |
|
|
|
I tested it, and while it seems to have fixed the issue with LMS, the "x has won with x" string itself is now missing during the intermission screen in deathmatch, terminator and possession modes so far.
Quote from Kaminsky It might not be too urgent to address this right now, also because the current champion isn't always the same as the winner of a duel.
No need to bother with this now since it's not even functional in the intermission screen. |
|
|
|
Quote from unknownna the "x has won with x" string itself is now missing during the intermission screen in deathmatch, terminator and possession modes so far.
I see. I made a couple of changes and amended the commit. Can you see if that issue's fixed now? |
|
|
|
Tested it, and it's still missing during the intermission screen in DM, Terminator and Possession if players enter the map as spectators. Also missing if winner spectates during win sequence in said modes. |
|
|
|
Quote from unknownna Tested it, and it's still missing during the intermission screen in DM, Terminator and Possession if players enter the map as spectators. Also missing if winner spectates during win sequence in said modes.
I'm sorry, but I can't seem to reproduce these issues on my end. At least, when I'm playing on these game modes, the "x has won with x" message appeared correctly during the win sequences and intermission when a player won and spectated/disconnected, both offline and online (note: in possession, if the winning player leaves during the win sequence, the game state changes, but this seems to be a separate issue).
What steps do you have to take to reproduce these? |
|
|
(0024406)
|
unknownna
|
2025-04-08 16:36
(edited on: 2025-04-09 17:25) |
|
Interesting, I'm able to reproduce the issue following these steps:
1. zandronum -host +skill 4 +sv_nomonsters 1 +sv_weaponstay 1 +sv_itemrespawn 1 +alwaysapplydmflags 1 +sv_cheats 1 +deathmatch 1 +fraglimit 1
2. Connect 2 clients to the server and join the game with both.
3. Kill either of clients and notice how the string is missing during the intermission screen.
I also uploaded a screenshot depicting the issue.
Edit:
Does this issue have anything to do with players potentially not earning "victory" medals online?
Actually, I'm wrong here. The medal is only given in LMS, and not any other modes from the looks of it.
|
|
|
|
Strangely, I still wasn't able to reproduce the issue by following the steps you provided above. Nonetheless, I changed my whole approach to fixing this problem and amended the topic just now. Hopefully this should work for you. If you can test everything again thoroughly, that would be great. Thanks! |
|
|
|
Since it didn't happen to you here either, I tried it with a fresh ini since it's a bit alarming if a client setting might affect it for itself and potentially others.
I found out the issue: It's caused by in-game clients using "cl_capfps 1". A client with capped FPS playing against other clients will not have the string displayed during the intermission screen, though this does not apply for spectators always.
I'll get to testing your latest fix now and see if it happens there. |
|
|
(0024411)
|
unknownna
|
2025-04-10 19:37
(edited on: 2025-04-10 20:20) |
|
I can confirm that the latest fix took care of the missing win string, but:
* Deaths are now sometimes counted again during warm-up rounds in, but only displayed upon map reset. Might be caused by initial telefrags and "mdk" command, though other times the deaths aren't counted. Unable to reproduce reliably yet.
I think I was testing both builds at same time somehow. The new fix seems to be better.
Actually, I was right, the spawn-telefrags upon map changes erroneously count deaths on the scoreboard during warm-up countdowns.
|
|
|
|
I'm thinking that in general, a player's death count probably shouldn't increment when they're spawn telefragged, just like how the player spawning doesn't earn a frag in this manner either. It doesn't seem fair that a player's death count goes up from something that's beyond their control (or the spawning player).
We can also assume that it's extremely unlikely that someone will get spawn telefragged in the middle of a game under normal circumstances, so spawn telefrags should generally happen right after a map change, or at the beginning or end of a countdown, when players respawn all at once.
I created a new topic to change this behaviour:'https://foss.heptapod.net/zandronum/zandronum-stable/-/commits/topic/default/death-count-spawn-telefrags [^]' |
|
|
|
I agree as long as spawn telefrags don't give out frags in general.
However, testing the pipeline build didn't seem to change too much from the old behavior:
* Spawn-telefrags still increment deaths with joining players in regular DM.
* Spawn-telefrags increment deaths when joining players telefrag others (LMS).
* Spawn-telefrags increment deaths when the map resets and players spawn-telefrag each other (LMS).
* Death counts no longer reset for players turning into real spectators (LMS). They retain their death count when joining the game again. |
|
|
|
I just amended the topic. It should fix all of those issues. Please let me know if it does for you too. |
|
|
(0024428)
|
unknownna
|
2025-04-12 05:40
(edited on: 2025-04-12 10:13) |
|
I updated the example wad slightly to have overlapping player starts in all modes and tested the latest pipeline build with 2 clients on a server. For the invasion mode, go to MAP02 in the example wad. For survival invasion, enable "sv_maxlives 1".
Most modes seemed to work really well now, I found some separate unrelated (and ancient) issues and will make reports for them later, and made my notes below:
Coop: OK
Survival: OK
DM: OK
TeamDM: OK
Duel: OK
Terminator: OK
LMS: Broken, "x has won with 1 win" string bug returned during intermission screen with higher winlimit
TeamLMS: OK
Possession: Broken, "x has won with 1 point" string bug returned during intermission screen with higher pointlimit
TeamPossession: OK
CTF: OK
OneFlagCTF: OK
Skulltag: OK
Domination: OK
Invasion: OK
Survival Invasion: True and dead spectators' death counters aren't cleared when joining the game again when mission failed earlier and a new game begins
TeamGame (AOW2): Seems OK so far True spectators' frag counter not cleared when joining the game again if suicided in-game earlier.
|
|
|
|
|
|
|
Quote from Kaminsky testing any one of the pipeline builds isn't going to fix all issues mentioned here so far.
Ok, I see. It quickly becomes more confusing to test it thoroughly when the fixes are separate.
I tested both pipeline builds and can confirm it fixed the issues, but I noticed one more thing:
* Kills are not reset (though points are with sv_awarddamageinsteadkills) for true spectators when they re-join the game in regular invasion. |
|
|
|
Quote from unknownna Ok, I see. It quickly becomes more confusing to test it thoroughly when the fixes are separate.
To be fair, there's many different issues being discussed here that deviate from the original issue of this ticket (i.e. the winner's name/score appearing wrong on the scoreboard). Since these issues aren't directly related to each other, I want to keep them in separate topics so that I can later create a merge request for each of them. Going forward, I'd prefer if new tickets were created for each different issue, rather than trying to conflate everything into one ticket.
Quote from unknownna Kills are not reset (though points are with sv_awarddamageinsteadkills) for true spectators when they re-join the game in regular invasion.
I amended the spectate-frag-count-reset-fix to also reset the player's kill count when they join spectators. Let me know if that fixes the problem for you. |
|
|
|
Quote from Kaminsky Going forward, I'd prefer if new tickets were created for each different issue, rather than trying to conflate everything into one ticket.
I understand, it just became a natural progression of ironing out the issues introduced by 0000404, and I wasn't quite sure if the issues in this ticket were regressions caused by the other fixes here.
Anyway, I tested the pipeline build and can confirm that the kill counters are cleared now in invasion. Thank you.
If the winner string issue is indeed fixed in its own branch, then I believe all the issues here are resolved. |
|
|
|
Sounds good! Thanks for reporting all of these issues and for testing everything thoroughly! I'll go ahead and open the merge requests for each issue so they get pushed in. |
|
|
|
I saw your fixes got merged into the main branch, I double-checked all modes, and it works good so far.
Coop: OK
Survival: OK
DM: OK
TeamDM: OK
Duel: OK
Terminator: OK
LMS: OK
TeamLMS: OK
Possession: OK
TeamPossession: OK
CTF: OK
OneFlagCTF: OK
Skulltag: OK
Domination: OK
Invasion: OK
Survival Invasion: OK
TeamGame (AOW2): OK
I noticed some minor issues that probably has to wait beyond 3.2:
* If the winner spectates during win sequences in DM, Duel, Terminator and Possession, the next player in line erroneously becomes the lead temporarily on their own end before the intermission screen. The leading player however still correctly thinks it leads.
* Deaths maybe shouldn't be incremented during win sequences in survival invasion since lives can't be taken away during them. Though this can be argued against, I'll probably ignore this one.
I'll make separate reports so it doesn't become too cluttered with separate issues here. |
|