Bug #367

Maxlives not correctly displayed when following teammates.

Added by Spyhawk almost 6 years ago. Updated over 5 years ago.

Status:New% Done:

0%

Priority:NormalSpent time:-
Assignee:-
Category:Mod generic
Target version:2.78
OS: Arch:

Description

When using the "maxlives" setting, the scoreboard doesn’t show the remaining lives. Instead, "" is displayed which means the players don’t have lives left and are out of the game. Etpub/silent mod running on ET:L engine aren’t affected.

Another seemingly related bug is when being killed and following a teammate before a respawn. The "remaining lives" counter of the followed players isn’t up-to-date, and the number displayed seems to be your last known number of remaining lives instead of the life number of the followed player. This bug is also present when running etpub/silent with ET:L engine.

Associated revisions

Revision bd9b962e
Added by Spyhawk almost 6 years ago

game: fixed scoreboard left lives display, ref #367

Revision 2037cf60
Added by Spyhawk almost 6 years ago

cgame: fixed display issue with maxlives and small scoreboard

refs #367

Revision e4d7a1b0
Added by Spyhawk almost 6 years ago

cgame: fixed 'spectator’ misalignement issue on small scoreboard, refs #367

History

#1 Updated by Spyhawk almost 6 years ago

Sorry I missed the proper referencing in the commit

The scoreboard issue is fixed in
http://www.dev.etlegacy.com/projects/etlegacy/repository/revisions/bd9b962efbe35178581e7cc774025f76e76c65fa

The spec issue is however not fixed yet.

#2 Updated by IR4T4 almost 6 years ago

  • Target version changed from 2.71rc3 to 2.71rc4

#3 Updated by Spyhawk almost 6 years ago

  • Subject changed from Maxlives not displayed in scoreboard to Maxlives not correctly displayed when following teammates.

#4 Updated by Spyhawk over 5 years ago

  • Description updated (diff)

#5 Updated by IR4T4 over 5 years ago

Maxlives is based on cg.snap→ps.persistant[PERS_RESPAWNS_LEFT] and is decreased on respawn.

#6 Updated by Spyhawk over 5 years ago

If this is of any help: commenting out the "savedScore" in SpectatorClientEndFrame() in g_active.c actually solves the above issue, at the expense of your own liveleft counter being completely messed up in the scoreboard.

#7 Updated by Spyhawk over 5 years ago

So I spend again another couple of hours on this issue, without positive results I’m afraid.

The best I can do with the trick just above is hiding the faulty result in the scoreboard, but I can’t display the old (and correct) value when following someone.

In another attempt, I’ve tried to display cg.scores[cg.snap→ps.clientNum].respawnsLeft instead of cg.snap→ps.persistant[PERS_RESPAWNS_LEFT] in cg_draw_hud.c, by refreshing the whole score when entering the 3D world (ClientBegin), respawning or following another player (probably a bit overkill). Here, it seems the score displayed in the maxlives counter isn’t always consistent with the one displayed in the scoreboard. There is clearly something I don’t understand here, and I’ll need fresh eyes to have a look at this issue.

#8 Updated by Spyhawk over 5 years ago

  • Target version changed from 2.71rc4 to 2.78

Also available in: Atom PDF