MantisBT - Zandronum |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0000331 | Zandronum | [All Projects] Bug | public | 2011-03-18 02:31 | 2018-05-07 09:48 |
|
Reporter | unknownna | |
Assigned To | Leonard | |
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | | |
Target Version | 3.1 | Fixed in Version | 3.1 | |
|
Summary | 0000331: Improved client-side prediction for Sector_SetFriction |
Description | The movement is choppy. |
Steps To Reproduce | |
Additional Information | A classic CTF map from the ZDCTF map packs (MAP15: Sewers Smell Bad) utilizes this effect. Special thanks to Spirit Soldier for reporting this issue. |
Tags | client, prediction, Sector_SetFriction |
Relationships | related to | 0000130 | closed | Torr Samaho | client prediction is sometimes wrong |
|
Attached Files | sector_setfriction_test.wad (1,008) 2011-03-18 02:34 https://zandronum.com/tracker/file_download.php?file_id=202&type=bug sector_setfriction_test_02.wad (1,536) 2015-06-06 14:02 https://zandronum.com/tracker/file_download.php?file_id=1520&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
2011-03-18 02:31 | unknownna | New Issue | |
2011-03-18 02:34 | unknownna | File Added: sector_setfriction_test.wad | |
2011-03-18 07:33 | unknownna | Additional Information Updated | bug_revision_view_page.php?rev_id=583#r583 |
2011-04-30 06:10 | unknownna | Priority | normal => high |
2011-07-18 07:50 | unknownna | Relationship added | related to 0000130 |
2011-07-18 08:09 | unknownna | Note Added: 0001921 | |
2013-08-01 14:19 | Watermelon | Note Added: 0006882 | |
2013-09-18 16:53 | Watermelon | Assigned To | => Watermelon |
2013-09-18 16:53 | Watermelon | Status | new => confirmed |
2013-09-22 15:26 | Qent | Note Added: 0007266 | |
2013-09-22 15:29 | Qent | Note Edited: 0007266 | bug_revision_view_page.php?bugnote_id=7266#r4064 |
2014-05-05 22:28 | Watermelon | Assigned To | Watermelon => |
2014-10-09 00:17 | Watermelon | Assigned To | => Watermelon |
2014-10-09 00:17 | Watermelon | Status | confirmed => assigned |
2014-10-27 02:09 | Watermelon | Assigned To | Watermelon => |
2014-10-27 02:09 | Watermelon | Status | assigned => feedback |
2015-06-06 14:00 | unknownna | Note Added: 0012542 | |
2015-06-06 14:00 | unknownna | Status | feedback => new |
2015-06-06 14:02 | unknownna | File Added: sector_setfriction_test_02.wad | |
2017-09-11 18:55 | WaTaKiD | Status | new => needs review |
2017-09-11 19:02 | Leonard | Note Added: 0018278 | |
2017-09-17 12:18 | Torr Samaho | Note Added: 0018300 | |
2017-09-17 12:19 | Torr Samaho | Status | needs review => feedback |
2017-10-02 20:45 | Leonard | Status | feedback => needs review |
2017-10-02 20:46 | Leonard | Status | needs review => needs testing |
2017-10-12 20:05 | Leonard | Assigned To | => Leonard |
2017-10-12 20:05 | Leonard | Category | Suggestion => Bug |
2017-10-12 20:05 | Leonard | Target Version | => 3.1 |
2018-05-07 01:10 | StrikerMan780 | Note Added: 0019209 | |
2018-05-07 09:48 | Leonard | Reproducibility | N/A => always |
2018-05-07 09:48 | Leonard | Status | needs testing => resolved |
2018-05-07 09:48 | Leonard | Resolution | open => fixed |
2018-05-07 09:48 | Leonard | Fixed in Version | => 3.1 |
Notes |
|
|
D2CTF4 also uses this effect. It works well in ZDaemon. |
|
|
|
This bug is pretty annoying in idl map15 and kills it from being played. Any easy solutions to this? |
|
|
(0007266)
|
Qent
|
2013-09-22 15:26
(edited on: 2013-09-22 15:29) |
|
I believe that the problem is Sector_SetFriction's not working at all when used on a linedef. The client predicts that it should have an effect, but it does not. It works as expected (and client prediction is perfect) when used from an OPEN script.
|
|
|
|
Quote from Qent It works as expected (and client prediction is perfect) when used from an OPEN script.
Indeed, you're right.
Quote from Qent I believe that the problem is Sector_SetFriction's not working at all when used on a linedef.
I'm going to assume that the client isn't informed of linedef specials in order to save bandwidth. In that case, there's no need to improve the prediction, clients simply need to know of linedef specials when connecting to servers. |
|
|
|
Pull request.
Sector_SetFriction on linedefs change the sector's friction but doesn't actually enable it with the sector special:
p_spec.cpp, line 2444:
sectors[s].friction = friction;
sectors[s].movefactor = movefactor;
if (alterFlag)
{
// When used inside a script, the sectors' friction flags
// can be enabled and disabled at will.
if (friction == ORIG_FRICTION)
{
sectors[s].special &= ~FRICTION_MASK;
}
else
{
sectors[s].special |= FRICTION_MASK;
}
// [BC] If we're the server, update clients about this friction change.
if ( NETWORK_GetState( ) == NETSTATE_SERVER )
SERVERCOMMANDS_SetSectorFriction( s );
}
But the server informs connecting clients of the friction change regardless of the friction flag as seen in the pull request. |
|
|
|
Please see my comment on bitbucket. |
|
|
|
|