It's bug related to playing delayed events on the client. Running a delayed
event will delay ALL events that are called after the delay event until
delayed is actually played. I came across this bug a while ago. To fix it I
created my own queue for the events I needed to delay, which fixes the
problem. You're not imagining it.

Ikkyo
----- Original Message -----
From: "Alfred Reynolds" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 07, 2003 12:42 PM
Subject: RE: [hlcoders] weapon prediction bug


> per entity per frame, i.e per unique player entity per rendered screen. So
> if in a single frame 2 events were sent to the client then only one of
them
> (the last I believe) would get through.
>
> zmeko wrote:
> > What do you mean by entity frame?
> > Alfred Reynolds wrote:
> >
> >> The deep recesses of my memory seem to think that you can only have
> >> 1 event per entity per frame. Perhaps the reload event is stomping
> >> over the top of another event?
> >>
> >> - Alfred
> >>
> >> Tony "omega" Sergi wrote:
> >>
> >>
> >>> I don't even use those cl_lw checks at all, so its always just on.
> >>>
> >>> But, after all kinds of massive debugging I've determined now that
> >>> its actually the events not firing on the client; that is, any event
> >>> that's not reliable (all weapon fire; since I don't want them to go
> >>> when out of pvs..) will randomly stop firing LOCALLY. I'm still
> >>> messing with it to see if I can find a solution, like perhaps to
> >>> force reliable on local calls, but not remote :/
> >>>
> >>> Further with that; my reload event which I set to reliable the other
> >>> day; when my fire events stop triggering on the client, the reload
> >>> still does. I haven't confirmed whether reliable actually has
> >>> anything to do with it yet, since its hard for me to duplicate this
> >>> bug when tis well, random.
> >>>
> >>>
> >>> -omega
> >>> Blackened Interactive - http://www.blackened-interactive.com
> >>> Omega Wing - http://owing.blackened-interactive.com
> >>> -----Original Message-----
> >>> From: [EMAIL PROTECTED]
> >>> [mailto:[EMAIL PROTECTED] On Behalf Of Pat
> >>> Magnan Sent: August 7, 2003 11:21 AM To:
> >>> [EMAIL PROTECTED]
> >>>
> >>> Hmm, ok guess that shouldn't be too random then :).
> >>>
> >>> I did find it strange that changing this code:
> >>> if ( cl_lw && cl_lw->value )
> >>> {
> >>>         HUD_WeaponsPostThink( from, to, cmd, time, random_seed ); }
> >>>
> >>> so there's no check for cl_lw (i.e. the conditional was changed to
> >>> if ( 1 )), seemed to have no effect - that is, HUD_WeaponsPostThink
> >>> was never called if someone types cl_lw 0, since I draw something
> >>> on the screen from that function continuously -- well based on a
> >>> value only ever set there, and it stops working as soon as someone
> >>> types cl_lw 0 in the console I can see that it was not being called.
> >>>
> >>> I guess that means the only way to disable a client's ability to
> >>> turn prediction off is to set it to 1 right before the check?
> >>>
> >>> I guess I'd have to say other than this cl_lw stuff, I have no
> >>> issues with the prediction not working or HUD_WeaponsPostThink not
> >>> being called because we draw based on that value and I've never
> >>> heard of it randomly not working...
> >>>
> >>> Oh for your problem omega, setting cl_lw to zero guarantees that
> >>> HUD_WeaponsPostThink is NOT ever called... so it shouldn't fix it
> >>> not being called.. at least that's what that code above says to me
> >>> :p, maybe some other check for it, the only 'default' other check is
> >>> this, and one in the gauss code I think...:
> >>>
> >>> int CHud::MsgFunc_SetFOV(const char *pszName,  int iSize, void
> >>>         *pbuf) { .. snip ... if ( cl_lw && cl_lw->value )
> >>>                 return 1;
> >>>
> >>> So, if you rely on FOV at all, then you'd need a zero in cl_lw for
> >>> your weapons to work correctly perhaps? Comment that check out, and
> >>> see if the predicted weapons work correctly now?. No idea on the
> >>> randomness of it..
> >>>
> >>> At 10:40 AM 8/6/2003 -0700, you wrote:
> >>>
> >>>
> >>>> <snip>
> >>>>
> >>>>
> >>>>> You seem to have the opposite problem where the prediction is
> >>>>> mucked. I noticed also that checking cl_lw, the value seems to
> >>>>> intermittently change (tried to print to console based on it's
> >>>>> value, and it seems to decide to reset itself at random).
> >>>>>
> >>>>>
> >>>>>
> >>>> There is only one place in the engine where cl_lw is reset
> >>>>
> >>>>
> >>> to 0, here is
> >>> the
> >>>
> >>>
> >>>> code for it:
> >>>>
> >>>>        if (cl_funcs.pPostRunCmd )
> >>>>        {
> >>>>                cl_funcs.pPostRunCmd( from, to, cmd, runfuncs,
> >>>>        time,        random_seed ); } else
> >>>>        {
> >>>>                extern cvar_t cl_lw;
> >>>>                if ( cl_lw.value != 0 )
> >>>>                {
> >>>>                        Cvar_SetValue( "cl_lw", 0.0 );        } }
> >>>>
> >>>> obviously this should never be called as long as your client
> >>>>
> >>>>
> >>> dll exports
> >>> the
> >>>
> >>>
> >>>> HUD_PostRunCmd function.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>> It seems like somewhere this value is getting munged, as well
> >>>>> checks for it don't work correctly at all. I lean to the idea
> >>>>> there is a bug in the engine and the value is getting stomped.
> >>>>>
> >>>>> Hmm, wait, HUD_WeaponsPostThink is called when cl_lw is true is
> >>>>> that not correct?
> >>>>>
> >>>>> At 11:15 AM 8/6/2003 -0400, you wrote:
> >>>>>
> >>>>>
> >>>>>> This is something that has been going on for a long time, and I
> >>>>>> had thought I'd fixed it, but now it seems like its really an
> >>>>>> engine bug. Here's the lowdown:
> >>>>>>
> >>>>>> For a long time, people have been complaining about "weapon
> >>>>>> jamming" (as they call it) long before I started working on FLF;
> >>>>>> So I began re-writing the weapon code completely. Locally it
> >>>>>> seems to work perfectly now, but over the internet it randomly
> >>>>>> stops predicting. And that's the keyword, I can't re-produce it,
> >>>>>> it just at random times "jams" (or more specifically,
> >>>>>> HUD_WeaponsPostThink is not called at ALL anymore.) cl_lw 0
> >>>>>> seems to fix it, which if my understanding is correct, tells the
> >>>>>> engine to not call HUD_WeaponsPostThink and then the server will
> >>>>>> not skip the event playback from FEV_NOTHOST. Correct?
> >>>>>>
> >>>>>> The problem is; now all weapon prediction features are lost, just
> >>>>>> to make the weapons not "jam". This is a pain in the ass, and the
> >>>>>> fact that I can't reproduce it to even debug and see if it is
> >>>>>> something messed up in the weapons code, or if it's in the engine
> >>>>>> for sure it leaves me in a pickle jar with no fork to pull
> >>>>>> myself out.
> >>>>>>
> >>>>>> I was wondering mostly if anyone else has experienced this, and
> >>>>>> if they can confirm or deny if it really is an engine problem, or
> >>>>>> something that can be fixed in weapons code :/
> >>>>>>
> >>>>>> I'm getting ready to rip my hair out again (and to think. It just
> >>>>>> grew back from last time I was fixing weapons!)
> >>>>>>
> >>>>>> -omega
> >>>>>> Blackened Interactive - http://www.blackened-interactive.com
> >>>>>> Omega Wing - http://owing.blackened-interactive.com
> >>>>>>
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> To unsubscribe, edit your list preferences, or view the list
> >>>>>> archives, please visit:
> >>>>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>>>>>
> >>>>>>
> >>>>> _______________________________________________
> >>>>> To unsubscribe, edit your list preferences, or view the list
> >>>>> archives, please visit:
> >>>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>>>>
> >>>>>
> >>>> _______________________________________________
> >>>> To unsubscribe, edit your list preferences, or view the list
> >>>> archives, please visit:
> >>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>>>
> >>>>
> >>> _______________________________________________
> >>> To unsubscribe, edit your list preferences, or view the list
> >>> archives, please visit:
> >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> To unsubscribe, edit your list preferences, or view the list
> >>> archives, please visit:
> >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>>
> >>>
> >> _______________________________________________
> >> To unsubscribe, edit your list preferences, or view the list
> >> archives, please visit:
> >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >>
> >>
> >>
> >>
> >
> >
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list
> > archives, please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to