Cutstuff Forum

Mega Man 8-bit Deathmatch => Bugs/Suggestions => MM8BDM Discussion => Rejected => Topic started by: Orange juice :l on April 17, 2013, 06:41:11 PM

Title: Jittery Top Spin
Post by: Orange juice :l on April 17, 2013, 06:41:11 PM
This has been known for a while; probably old, but I don't see any reports about it.

When a player uses top spin, they occasionally appear to "jitter" when viewed by other players or coop spied, as if they were still rotating. Spinning again ends the effect. The player does not notice any of these symptoms. The point at which the top spin is used and/or the length of the jump may be related to the bug occurring. The bug first appeared in V3A.
Title: Re: Jittery Top Spin
Post by: MEGAMANX123 on June 16, 2013, 02:29:35 PM
i get it on multiplayer on single player its smooth and not jittery yea its kinda annoying
Title: Re: Jittery Top Spin
Post by: Knux on June 16, 2013, 06:20:02 PM
Yeah, it makes it confusing when fighting someone. They're suddenly twitching and I don't know where they're aiming.
Title: Re: Jittery Top Spin
Post by: Russel on June 17, 2013, 12:40:13 AM
It's a desync thing...the issue exists on the engine level and probably can't be fixed without some weird hacks...
Title: Re: Jittery Top Spin
Post by: tsukiyomaru0 on June 17, 2013, 02:07:42 AM
Here goes my guess: what about changing this:
Code: [Select]
Spin:
TNT1 A 0 A_SpawnItemEx("TopRadius",8,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_SetAngle(angle-20.0)
TNT1 A 0 A_JumpIfInventory("CutterFlag",999,"Ready")
TNT1 A 1 A_JumpIf(z-floorz<=0, "SpinEnd")
TNT1 A 0 A_SetAngle(angle-20.0)
TNT1 A 0 A_JumpIfInventory("CutterFlag",999,"Ready")
TNT1 A 1 A_JumpIf(z-floorz<=0, "SpinEnd")
TNT1 A 0 A_GiveInventory("CutterFlag", 1)
TNT1 A 0 A_JumpIfInventory("CutterFlag", 15, "MomentumCheck")
Loop
to this
Code: [Select]
Spin:
TNT1 A 0 A_SpawnItemEx("TopRadius",8,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_SetAngle(angle-20.0)
TNT1 A 0 A_JumpIfInventory("CutterFlag",999,"Ready")
TNT1 A 1 A_JumpIf(z-floorz<=0, "SpinEnd")
TNT1 A 0 A_SetAngle(angle-20.0)
TNT1 A 0 A_JumpIfInventory("CutterFlag",999,"Ready")
TNT1 A 1 A_JumpIf(z-floorz<=0, "SpinEnd")
TNT1 A 0 A_GiveInventory("CutterFlag", 1)
TNT1 A 0 A_JumpIfInventory("CutterFlag", 15, "MomentumCheck")
TNT1 A 0 A_JumpIfInventory("SpinTime", 1, "Spin")
Goto SpinEnd
?

My best guess is that Spin keeps "looping" clientside for other players. So this could, in theory, detect if SpinTime is still a thing. Also, this could be added as a "safe switch" (considering people keep "jittering" after changing weapons, that could be they were holding fire while switching)...

Code: [Select]
Deselect:
TNT1 A 0 A_TakeInventory("SpinTime", 1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TOPH A 1 A_Lower
Loop