Glitch - RETAIL & MOD - Save/Load buffering, Voidclipping

By 28382838. Last updated

Contents

[Hide]  

Save/Load buffering

Save/Load buffering is the act of saving and then loading back to that save.
Save/Load buffering is most commonly used while being stuck inside a displacement or prop to clip downward through brushes and into parts below, skipping sections of the game.
Save/Load buffering is also used to open some closing doors in Surface Tension and Forget About Freeman.

How-to

To do Save/Load buffers, simply press your quicksave key, then follow it up by your quickload key. You can simplify this process by binding a key to the command save quick;load quick

Movement while inside brushes

The inner-workings of movement while having speed inside brushes is obscured and fragmented under tons of code; therefore, it hasn't yet been fully discovered. The content below will only show what usually happens when doing specific things with clipping.

Before clipping entirely into the brush, the player can damage themselves using explosives or take damage from enemies, receiving knockback and in turn, giving them speed. This speed can be preserved and used between every Save/Load to make the player move inside brushes in different directions at different speeds. While inside a brush, the speed collected before will not change unless they get knockback from something else.
When the player is entirely inside brushes they can change their speed by doing a Gaussboost, although it can only give you horizontal speed and almost no vertical speed.
Although there is a limitation to this, as you can only move inside the brush you initially clipped into and any brush immediately below you. Trying to boost yourself into a different brush you're currently in and then buffer will result in you either bouncing away or stopping right in front of the brush.

Explanations for downward movement

There are 2 functions CBasePlayer::Restore and FixPlayerCrouchStuck that the game calls when loading a save. CBasePlayer::Restore calls for various other functions when you load save and one of those is FixPlayerCrouchStuck but only if the player is crouched.

https://i.imgur.com/uuUjwgb.png
Part of code showing this

Most methods of getting inside brushes involves crouching and you can't uncrouch while in brushes; so this is always called when you're stuck in a brush.

FixPlayerCrouchStuck is a hack by Valve to find free space when you're stuck in a brush and you're crouched.

https://i.imgur.com/oXWdh35.png
Part of code showing this.

What it was supposed to do was to pull the player up by 1 units sequentially until the player has moved up by 18 units, check at what point the player is no longer stuck then put the player at that point. If the player does not get unstuck, it will instead do the same operation but now pull the player 18 units down.

But the code was extremely poorly written and what ends up happening is that:
- The player gets pulled 18 units up and no matter whether they get unstuck or not, their position will always reset to where they were before.

https://i.imgur.com/vS4klJJ.png
Flaw shown. Note how after return is pPlayer->SetAbsOrigin(org) which i.e. means to place the player back to the original point.

- From there the game pulls the player 18 units down then wrongfully checks like the flaw above, then ending the function abruptly, leaving the player 18 units below where they started.

https://i.imgur.com/mIuE358.png
Flaw shown. Note how after return, nothing follows.

[Hide]  

Voidclipping

Save/Load Buffering in the Void incorrectly will discard all speed received before entering the Void; as in the Void, your speed and it's direction can only be preserved between Save/Load's while the game is still loading a save. In essence, you can only move through the void using the speed you've gained by Save/Load buffering once, and then doing another one while the game is still "frozen" and showing the LOADING textbox on the screen.

This kind of Save/Load Buffering is commonly known as Voidclipping, and to consistently do Voidclips, you will need to time your Save/Load buffers.

How-to

Timing Save/Load buffers
The time you'll need to wait between Save/Load buffers depends on your PC and the area of the game you're in, although it is usually around 0.5 to 2.5 seconds.
You can see how much time you'll need to wait by:
- Starting the in-game time timer in Livesplit,
- Going on any map
- Doing a single Save/Load buffer anywhere on that map (particularly in the spot where you begin your Voidclipping).
- While the game is still loading the save, take a look at the timer. Do another Save/Load while the timer is paused, a little after you did your first Save/Load and right before the timer resumes.
- Do this again and again, making sure the timer stays paused and the game is frozen, showing the LOADING textbox. After you've chained a few Save/Load buffers, you should get the rhythm down for Voidclipping.

Seeing where you're going
Because you need to keep the timer paused while the game is loading a save, in turn the game will not give you any visual indication of where you are in the Void. This is crucial as you can overshoot your desired destination.
To see where you are in the void, simply stop Voidclipping. The game will finish loading back from the save, showing where you are. To start Voidclipping again,
- Press your quickload key
- While the game is still loading up again, initiate another session of Voidclipping.

Gaining speed
--While about to enter the Void
When you are half-in, half-out of a brush and about to enter the Void, apart from the weapons you can always get speed with while inside brushes like the Gauss, damage boosting or getting knockback while in this state will still give you speed without being reverted immediately back to 4.69 UPS.
Although all explosives (except the Tripmine as it cannot be placed OOB) will give your speed, it is recommended that you stick to the SMG Nade because of it's relatively high accuracy when fired. Other methods of knockback like the Hivehand is also recommended as it has unlimited ammo and is also relatively accurate and quick to gain speed with. This is best shown in The bm_c3a2h skip

--While inside the Void
Similar to boosting inside brushes, you can use the Tau gun to gain speed in the middle of the Void. However this is very difficult and relies on your PC hardware and peripherals. Only do this when your clip goes wrong!
- Charge up the Gauss while aiming at the appropriate direction.
- At the same time you release your right mouse button to stop charging and execute a Gaussboost, press your Save/Load key. You will know that you've succeeded if your Velocity has changed and you've moved.
The speed given by the boost will only appear for a single frame, so you will need to minimize the latency of your mice, keyboard and monitor to time it correctly.
Along with minimal latency requirements, at framerates lower than 60 FPS, you will never gain the speed given by the boost, so you will need to ensure the best game performance while doing this trick.

Caveats
--Overshooting and Undershooting your destination
If you have overshot your destination, you can load back to your 2nd quicksave by loading the second quicksave in the "Load Game" menu or you can put in load quick01 into the console. Usually when you do this, you will be right above your destination.
Normally, if you've undershot your destination by not having enough momentum, you'll have to redo your clip entirely.

If you are instead, stuck in the void clipping down onto a section not of your destination's; if that section and your destination are under the same ceiling (or have ceilings that are touching and are ≤18 units above or below each other), you can:
- Continue clipping downwards until you are near the roof of that section
- When near, release Control and slowly Save/Load down until your velocity drops to 0.
- When your speed is at 0, stop Save/Loading and walk around until you are right above your destination
- When you are above your destination, Save/Load to go down into you destination.
This method is very risky and can fail easily if you don't stop buffering at the correct point; only use this if you are sure of the position of the ceiling you're lowering into.
Movement while on these ceilings are described in the Movement section down below.

--Doing buffers too quickly
Doing Save/Load buffers too quickly will result in the game not showing the LOADING textbox while loading saves and instead showing the load screen you see when you start up a map or a save right after launching the game. If this happens, you will not be able to properly chain your Save/Load buffer again, but you can do the following instead:
- After going through the load screen, press your quickload key
- While the game is still loading up again, initiate another session of Voidclipping.

--Doing buffers too slowly
Doing Save/Load buffers too slowly will result in failing the Voidclip completely. If your very last save was done too slowly, you can:
- Open the menu and load your second-to-last quicksave (or put load quick01 into the console)
- After the game had loaded back up, press your quickload key and initiate another session of Voidclipping.
However, if all 2 of your available quick saves are done too slow, you will need to redo the Voidclip again.

Movement while Voidclipping

The inner-workings of movement while being inside the Void is obscured and fragmented under tons of code; therefore, it hasn't yet been fully discovered. The content below will only show what usually happens when doing specific things with clipping.

General movement inside the Void
Movement while Voidclipping is similar to Save/Load buffering in brushes. However unlike Save/Load buffering, you can break the Voidclip by waiting for the game to finish loading and begin buffering to clip directly down, through all brushes and props. To clip down faster, hold crouch while buffering.

Movement while on a surface
While voidclipping, if you are ≤18 units above any surface, you will immediately be put on them.
On these surfaces, you can walk around freely; however walking off these surfaces will put you back stuck in the void with no speed. If another surface is ≤18 units above the surface you are currently standing on, you can walk directly onto that surface and vice versa.
If you are crouched while on these surfaces, you can not uncrouch.
If you jump, you will go up for a few units and then get stuck in the void. You can drop back down again by Save/Loading. However, if you Save/Load at the correct time a little bit after jumping, you can begin Voidclipping at the speed and in the direction of your jump before.
This kind of movement is best shown in the bm_c1a1c skip:

[Hide]  

Notable uses

Save/Load buffering (boosted, clipping in and out of same brush)
bm_c1a4e - Blast Pit skip/Tentacle skip - skips the majority of Blast Pit.
bm_c2a1a - Power Up skip - skips the entirety of Power Up.
bm_c2a5h - Barney skip - skips the majority of the map bm_c2a5h of Surface Tension.

Voidclipping (retaining speed)
bm_c1a1c - bm_c1a1c skip - skips the entirety of the map bm_c1a1c of Unforeseen Consequences.
bm_c1a3a - Weve Got Hostiles skip - skips the entirety of We've Got Hostiles.
bm_c3a1b - Ninja clip - skips the entirety of the map bm_c3a1b of Lambda Core.
bm_c3a2b - c3a2b Fight skip - skips the entirety of the map bm_c3a2b of Lambda Core.