MantisBT - Zandronum |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0000142 | Zandronum | [All Projects] Bug | public | 2010-10-27 04:30 | 2015-09-01 17:25 |
|
Reporter | Anonymous | |
Assigned To | | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | not fixable | |
Platform | | OS | | OS Version | |
Product Version | 98c | |
Target Version | | Fixed in Version | | |
|
Summary | 0000142: A_Jump desync in flash state. |
Description | A_Jump in the flash state works correctly offline, however online it desyncs and plays the frames incorrectly.
Here is the code it was found with:
Actor PlasmaRifle~ : PlasmaRifle replaces PlasmaRifle
{
Decal PlasmaScorch
Weapon.PreferredSkin "Plasma-DoomMarine"
States
{
Fire:
PLSG A 0 A_JumpIfInventory("RedTeamChecker", 1, 4)
PLSG A 0 A_FireCustomMissile ("PlasmaBall")
PLSG A 3 A_GunFlash
PLSG B 20 A_ReFire
goto Ready
PLSG A 0 A_FireCustomMissile ("RedPlasmaBall")
PLSG A 3 A_GunFlash
PLSG B 20 A_ReFire
goto Ready
Flash:
PLSF A 0 A_JumpIfInventory("RedTeamChecker", 1, 6)
PLSF A 0 bright A_Jump (128, 3)
PLSF A 4 bright A_Light1
PLSF A 0 bright A_Light0
stop
PLSF B 4 bright A_Light1
PLSF B 0 bright A_Light0
stop
RLSF A 0 bright A_Jump (128, 3)
RLSF A 4 bright A_Light1
RLSF A 0 bright A_Light0
stop
RLSF B 4 bright A_Light1
RLSF B 0 bright A_Light0
stop
}
} |
Steps To Reproduce | Simply load this wad:'http://wadhost.fathax.com/files/Deathball-V1.1.zip [^]' in an offline match and use the plasma rifle on both red and blue team and it should work perfectly fine. Then load it in an online game and try the plasma rifle on both teams and it will desync and only play one frame of the flash state. |
Additional Information | |
Tags | No tags attached. |
Relationships | has duplicate | 0000251 | closed | Torr Samaho | A_Jump() does NOT work in net games properly on Flash state |
|
Attached Files | jumpoffset_behavior_test.wad (803) 2010-10-28 05:48 /tracker/file_download.php?file_id=49&type=bug
jumpoffset_behavior_test_02.wad (2,362) 2011-01-20 17:42 /tracker/file_download.php?file_id=135&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
2010-10-27 04:30 | Anonymous | New Issue | |
2010-10-28 05:45 | unknownna | Note Added: 0000475 | |
2010-10-28 05:48 | unknownna | File Added: jumpoffset_behavior_test.wad | |
2011-01-19 01:12 | Torr Samaho | Relationship added | has duplicate 0000251 |
2011-01-20 12:38 | Torr Samaho | Note Added: 0000843 | |
2011-01-20 12:39 | Torr Samaho | Assigned To | => Torr Samaho |
2011-01-20 12:39 | Torr Samaho | Status | new => feedback |
2011-01-20 17:41 | unknownna | Note Added: 0000844 | |
2011-01-20 17:42 | unknownna | File Added: jumpoffset_behavior_test_02.wad | |
2011-01-20 21:17 | unknownna | Note Edited: 0000844 | bug_revision_view_page.php?bugnote_id=844#r391 |
2011-01-21 03:04 | Torr Samaho | Note Added: 0000845 | |
2011-01-21 03:29 | unknownna | Note Added: 0000846 | |
2011-01-21 03:45 | unknownna | Note Edited: 0000846 | bug_revision_view_page.php?bugnote_id=846#r393 |
2011-01-21 03:53 | unknownna | Note Edited: 0000846 | bug_revision_view_page.php?bugnote_id=846#r394 |
2011-01-23 10:21 | Borg | Note Added: 0000856 | |
2011-01-27 03:06 | Torr Samaho | Note Added: 0000879 | |
2012-06-09 13:22 | Torr Samaho | Category | General => Bug |
2015-09-01 17:25 | Dusk | Note Added: 0013358 | |
2015-09-01 17:25 | Dusk | Status | feedback => closed |
2015-09-01 17:25 | Dusk | Assigned To | Torr Samaho => |
2015-09-01 17:25 | Dusk | Resolution | open => not fixable |
Notes |
|
|
Confirmed. If the jump offset isn't in it's own state, the jump will fail. Made an example WAD, in which there are two identical plasma rifles, with the only difference being that one of them has a dummy state for the jump offset. Note that "A_Jump" in the second plasma rifle doesn't jump to the dummy state, but to the first frame in it.
The frame pattern also desyncs online. Perhaps because the jumping isn't done client-side. |
|
|
|
Thanks, your observation shed some light on the issue. This should work better. |
|
|
(0000844)
|
unknownna
|
2011-01-20 17:41
(edited on: 2011-01-20 21:17) |
|
The state jumps are working now, but the frames still visually desync in the flash states. And the custom plasma rifles are considerably louder compared to the standard one. It's not like this offline.
All the plasma rifles behave like the standard one offline.
|
|
|
|
I think the visual desync is a consequence of the way Skulltag handles A_Jump online: Clients pretend the jumps are not there and the server instructs them to do the jump when the server jumps. Thus, if a jump occurs, the clients are in the wrong state till the message from the server to do the jump arrives.
Do you have any additional information on the volume issue? For instance, does this also appear if no additional jumps are in the custom plasma rifles? |
|
|
(0000846)
|
unknownna
|
2011-01-21 03:29
(edited on: 2011-01-21 03:53) |
|
> I think the visual desync is a consequence of the way Skulltag handles A_Jump online: Clients pretend the jumps are not there and the server instructs them to do the jump when the server jumps. Thus, if a jump occurs, the clients are in the wrong state till the message from the server to do the jump arrives.
I see. The frames in the "Flash" and "Fire" states will then remain desynchronized. It's evident when you release, or tap the fire button (the frames overlap). A natural consequence indeed.
> Do you have any additional information on the volume issue? For instance, does this also appear if no additional jumps are in the custom plasma rifles?
Removing the "A_Jump" code pointer from the "Flash" states didn't fix the volume issue.
From:
"Flash":
TNT1 A 0 A_Jump (128, 3)
PLSF A 4 Bright A_Light1
PLSF A 0 Bright A_Light0
Stop
PLSF B 4 Bright A_Light1
PLSF B 0 Bright A_Light0
Stop
To:
"Flash":
// TNT1 A 0 A_Jump (128, 3)
PLSF A 4 Bright A_Light1
PLSF A 0 Bright A_Light0
Stop
PLSF B 4 Bright A_Light1
PLSF B 0 Bright A_Light0
Stop
This is the "Fire" state:
"Fire":
PLSG A 0 A_FireCustomMissile ("PlasmaBall")
PLSG A 3 A_GunFlash
PLSG B 20 A_ReFire
Goto "Ready"
|
|
|
(0000856)
|
Borg
|
2011-01-23 10:21
|
|
Then the fix sounds easy to me.
If you are in Flash state, do the jumps ClientSide. |
|
|
|
> Removing the "A_Jump" code pointer from the "Flash" states didn't fix the volume issue.
Ok, then this is an entirely different issue.
> If you are in Flash state, do the jumps ClientSide.
No, that's not feasible. Since there are no guarantees that no gameplay relevant things happen in the Flash state, the server has to control the jump. |
|
|
(0013358)
|
Dusk
|
2015-09-01 17:25
|
|
A result of the way actor state flow is handled online and cannot be feasibly fixed. |
|