Bug 5740 - Unfixed bugs in game/cgame code
Status: RESOLVED FIXED
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Misc
Version: unspecified
Hardware: PC All
: P3 normal
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2012-09-01 06:34 EDT by Kuehnhammer Tobias
Modified: 2012-09-09 18:23:31 EDT
1 user (show)

See Also:



Description Kuehnhammer Tobias 2012-09-01 06:34:39 EDT
Hi,

After researching the ioquake3 code I found 3 more bugs, unfortunatly this
time I didn't find an appropriate fix.

1. Bug:

  The Team Overlay doesn't work as it should. At least if I understand the
  function "CG_DrawTeamoverlay" correctly.

- Following Spectators didn't get the right values of the client who will be
  followed. Sometimes the following Spectator will receive an "Unknown" 
  location, sometimes the values will not be updated and shows the last
  location.
- I'm not sure if it was the intension that spectators will receive updated
  values of the followed player at all. If this isn't the case, than it is not
  right that the spectator will have a team overlay of the team he joined last.
  Although I think it make sense that a following spectator has information
  about every client he follows no matter what team the client belongs to.

2. Bug:

- If someone accidently set the cvar g_warmup to "0" and the cvar g_dowarmup
  to "1", the game will stuck with a "Connection Interrupted" message, when the
  match restarts after the timelimit or fraglimit is hit. If you did set these
  values accidently, than it's really hard to know why the game won't work
  any longer.
  A possible solution might be to set a minimum warmup time of 6 (= counter 
  drawing) if g_dowarmup is "1".

3. Bug:

- This bug is more complicated than the others. In TeamArena if you start a
  match with g_teamautojoin then bots/humans didn't join the correct team. (Odd
  number of bots = red human, even number of bots = blue human). You might test
  different amounts of bots to understand the bug.
  Anyways, this bug has a side effect. If bots change teams because of 
  g_teamautojoin, than they will "player_die" and respawn on the other team.
  This causes them to produce skulls in gametype_7 Harvester. This bug sounds
  minimal, but be aware that this bug gives one team a benefit over the other
  team. Sometimes, depending on how many bots/players changed teams, there will
  be many skulls in the center of a map. This explains why sometimes a player
  rushes to base with a lot of skulls within a very short amount of time
  although nobody was fragged.

Thanks,

Tobias Kuehnhammer
Comment 1 Zack Middleton 2012-09-08 19:32:48 EDT
Fixed bug 1 in r2315. Spectators now get team info for the client they're following (instead of showing outdated info from when you were on a team).

I haven't been able to reproduce bug 2.

Fixed bug 3 in r2314.

Thanks for reporting the issues!
Comment 2 Kuehnhammer Tobias 2012-09-09 05:56:35 EDT
(In reply to comment #1)

Hi,

Wow, you are really fixing things fast, THANKS!

Hm, about bug #2, thats interesting, I will often end up with a "Connection Interrupted" message if I set up the values as described above.

Maybe it's OS specific although this sounds unlikely. I'm on Win 7 64 bit, Nvidia, no changes to anything, everything is on default. I didn't even change key bindings or graphic settings. Even if I install the two ioquake3 installers it gives me the same error. Compiling the latest revision, the same thing.

Some more things I found out:

1. You don't even have to end a match, doing a manual restart (Menu ESC and Restart Arena) will produce the same, at least one bot is added.
2. As soon as g_warmup is at least set to "2" everything is okay!
3. Sometimes you hear the annoucer voice "One" of the warmup countdown before the game will freeze!
4. Sometimes you will switch to 3rd-person view, the bot is not affected, he will move around.

But note, as I already said in my first post, its very hard that this will happen. Only accidently, and maybe I'm the only one with that error:(

Thanks,

Tobias Kuehnhammer
Comment 3 Zack Middleton 2012-09-09 18:23:31 EDT
Okay, I was able to reproduce the issue. Reusing some code from tournament gametype for all other gametypes seems to fix bug 2 in r2316. I didn't look into the client prediction far enough to really solve the issue, but g_warmup < 2 doesn't seem to cause a problem now.