I am not going to say you're wrong, just yet, but I would like you to explain to me, with logical statements, how does that work. What I say is that wait:0 behaves as you said ONLY if the current frame wasn't a result of a next; and that's the real reason opoints requires a next. Here is an elaborated explanation:
The engine most likely handles the main loop in this order:
1-InputsStuff; handles the hit_a,j,d and the F,U,Da,j
2-CollisionDetectionStuff; for the current frame.
3-UpdateStats; it updates the frame if the "wait_counter" is 0, else "wait_counter" is decremented.
4-RenderObjectsOnTheScreen; it show the sprites.
I assumed that order because that is the conventional order of operations for almost every game's main loop.
Now lets say at a frame you were hit and sent into injury frames with a wait:0:
1-InputsStuff()=> No keys were pressed, so we go on. You're still at that whatever frame.
2-CollisionDetectionStuff()=>Collision detected, you were sent to frame 223 with wait 0; therefore, "wait_counter" is set to 0
3-UpdateStats()=>"wait_counter"==0; 0==0 is true; so the frame is actually updated on the same cycle here.
Somewhere under that must lie the opointing process. The frame was already updated, it won't actually opoint.
4-RenderObjectsOnTheScreen()=> the wait:0 frame was skipped as you theorized.
But, when a wait:0 frame was a result of a next, it should show and collide and do everything normally without any exceptions. We're going to start at step 3, where the frame just updated to a new one through a next with a wait 0:
3-UpdateStats()=>"wait_counter"==0? True, and therefore we update to frame y with a new wait:0; "wait_counter" is set to 0.
4-RenderStuff()=> And there it is rendered.
1-InputsStuff()
2-CollisionDetectionStuff()=>And there, Inputs and Collisions were handled normally.
3-UpdateStats()=>The frame updates and the cycle continues.
(07-07-2014, 08:53 PM)TheNave Wrote: you're all wrong,
Eeh?
Edit: And if you based that theory on LF2's F2 skip function, then I would like you to know that it actually skips 2 frames, not one.