++ Double Bounce:
There are 2 variables in your playerstate called "JumpOriginZ" and "PM_Flags" that need to be handled differently to allow for double bouncing.
Lets assume we are on CoD4 and your current Z-Origin is ( 0, 0, 1000 ). You are aiming for a bounce and at the moment you jump:
Now if you hit the slope correctly, "PM_StepSlideMove" will do its thing and initiate the bounce when your "JumpOriginZ" is higher then your current Z-Origin and if you still have the "Jumped-And-In-Air" flag set. But with that, "PM_GroundTrace" got called from "PM_StepSlideMove" and resets these two variables in your playerstate and makes it impossible to bounce again as you can't re-set "PM_Flags" and "JumpOriginZ" mid air.
Now to enable double bouncing, we have to disable the resets for these two variables within "PM_GroundTrace". With that we "redirect" the flow of execution to a point where "PM_StepSlideMove" thinks that we just jumped, so it will always execute the code that makes bouncing possible.
Now .. because we've altered the reset of these two variables, "PM_StepSlideMove" will behave a bit differently after a bounce.
Known side effects are: