Bug Tracker – Bug 414

Spynext maintains original sound position for spectators

Last modified: 2008-06-04 04:35:35 UTC
Bug 414 - Spynext maintains original sound position for spectators
Summary: Spynext maintains original sound position for spectators
Status: RESOLVED FIXED
Alias: None
Product: Odamex
Classification: Unclassified
Component: Client (show other bugs)
Version: (old) 0.x Alpha
Hardware: All All
: P2 normal
Assignee: GhostlyDeath
URL:
Depends on:
Blocks: 424
  Show dependency tree
 
Reported: 2008-04-16 06:49 UTC by Dean Joseph
Modified: 2008-06-04 04:35 UTC (History)
3 users (show)

See Also:

Attachments

Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Joseph 2008-04-16 06:49:46 UTC
There's two things about spynext that I find wrong. one of them is definitely a bug, the other I'm not sure about. Both are related to spectating, but I believe it should be tracked separately from bug 409 and bug 146. Anyway:

1) If you're a spectator and you use spynext, you can see a "ghost" of yourself from the other player's POV if you are in their line of sight to the x/y position you had changed your view from. The "ghost" can also move if you try inputting movement. Best way to test this is in coop with two clients, one as spectator and another in-game.

2) Sound is played relative to the normal player's position and not the person who is being spied on. I'm not sure if this decision was deliberately made by a dev before spectating was introduced to prevent some sort of unfair advantage in-game, but it is very annoying when you're spectating.
Comment 1 Nes 2008-04-16 23:58:57 UTC
1) This isn't supposed to happen, but I can understand why it's doing that. Unless it also shows "ghosts" of OTHER spectators, then I'm bewildered.

2) Vanilla spynext also does this. This should be fixed, especially for spectators.
Comment 2 Dean Joseph 2008-04-17 03:19:54 UTC
(In reply to comment #1)
> 2) Vanilla spynext also does this. This should be fixed, especially for
> spectators.
> 
This causes a fundamental problem. Should we respect how vanilla operates spynext, or do we update the code to be more in line with modern FPS's? Perhaps an amalgamation where vanilla-style spynext applies while in-game, while a modern spynext applies to those who are spectating?
Comment 3 Denis Lukianov 2008-05-03 06:17:45 UTC
Yup, (1) is a bug
Comment 4 Denis Lukianov 2008-05-16 05:49:58 UTC
reassigning to GhostlyDeath
Comment 5 GhostlyDeath 2008-05-16 05:54:09 UTC
in client/src/r_things.cpp

At line 907, add the following (Huge gaps are tabs)
================================================================================
	// GhostlyDeath -- Don't draw yourself if you are spectating
	if (thing->player && (thing->player == &consoleplayer()) && consoleplayer().spectator)
		return;
================================================================================

This will fix bug 1, and the sound issues could probably just be changing consoleplayer() to displayplayer()
Comment 6 Brandon Del Bel 2008-05-16 08:23:50 UTC
I don't recommend changing the way sound works when using spynext in coop. Having sound from your perspective when spynext-ing a coop partner allows you to still maintain some status on what's going on where you are standing. For example, it's good to be able to hear when enemies are firing at you so you can un-spynext. Having played countless hours of vanilla coop, I know how useful this is. This behavior is useless for spectators, though, so your sound should change depending on your POV.
Comment 7 Denis Lukianov 2008-05-17 03:43:59 UTC
(In reply to comment #5)
> in client/src/r_things.cpp
> 
> At line 907, add the following (Huge gaps are tabs)
> ================================================================================
>         // GhostlyDeath -- Don't draw yourself if you are spectating
>         if (thing->player && (thing->player == &consoleplayer()) &&
> consoleplayer().spectator)
>                 return;
> ================================================================================
> 
> This will fix bug 1, and the sound issues could probably just be changing
> consoleplayer() to displayplayer()
> 

applied in r765
Comment 8 Denis Lukianov 2008-05-23 00:24:56 UTC
updating description to "Spynext maintains original sound position"
Comment 9 Denis Lukianov 2008-05-23 00:28:35 UTC
updating description to "Spynext maintains original sound position for spectators"
Comment 10 GhostlyDeath 2008-06-04 00:40:05 UTC
Fixed in r915 and tested, works as expected
Comment 11 Denis Lukianov 2008-06-04 04:35:35 UTC
marking fixed