Saveloading can be defined as simply saving, and then immediately loading the game.
On its own, its simply a mechanic, but it allows for very advanced glitches.
A saveload can be bound to a key with bind KEY "save sl;load sl"
. In GoldSRC games this is considered a script, but it is not in Source games.
todo
In Source games, whenever the game is loading there is a small window of time where saveloading will result in the game doing it on the so called "0th tick". This will cause a "0-tick Saveload".
In reality, the 0th tick is the 1st tick, but it is refered to as the "0th" as that is it's reported index in demos. Confusion regarding this has caused pretty much all speedruns to be inaccurately timed up until 2024.
0-Ticking is required for many saveloading tricks in Source.
The easiest way to perform a 0-tick is by looking at the timer. There is a visible window between when the 0th tick happens in the load, and when the timer actually starts running. This can be used to hit the window. It has been marked in red in the image.
Since triggers only start checking if the player is in them on the 2nd tick, the player is unable to hit triggers when 0-ticking. This can be used for clipping through triggers with Saveload Clipping or for Rubby.
Saveloading in the 0-tick window is impossible with the Steam Deck UI.
if, instead of saveloading in the 0-tick window, the player pauses during it, then lets the game load, and saveloads again, they will have executed a Slap (Save, Load and Pause).
This will cause a broken 2-tick saveload to occur. Slaps can be chained together.
In source, saveloading can be used for the following tricks and glitches:
In HL2 specifically, but not in the episodes, and only up to early Source 2013 builds, Saveloading will cause some weapons to skip their reload animation.
This will allow the player to shoot again immedietely after the saveload, often saving a lot of time.
It is most useful with the RPG.
This mechanic does still work with the Pistol in other games and new HL2 versions for an unknown reason.
env_fade is an entity that causes the player's entire screen to fade to, or from a colour.
Executing a 0-tick saveload will cause it to completely disappear however, allowing the player to see.
After HL2-Based games got updated to Source 2009, the code meant to store velocity of the airboat between saves broke, though, it was fixed in the early Source 2013 builds.
This means that in Source 2009 builds of HL2 and in early Source 2013 builds, it is possible to use saveloading to stop the airboat in its place.
By continuosly chaing either Slaps or 0-Tick saveloads, the player will cause NPCs and moving objects to freeze for an amount of time relative to the amount of saveloads. After wards some entities will try to snap into place, sometimes incorrectly.
When performing Slaps or Saveloads, and the player's VPhys Bounding Box does NOT have priority, the player will simply freeze in air, and not move at all.
This can be used to delay the player hitting a door while it is opening, however, since doors only process on the 2nd tick, the door will essentialy open at half the speed, and not open at all with 0-tick saveloads, and instead cause Slag to happen.
The damage given to the player in water by leaches will slowly become higher overtime, however, this will reset on a saveload, causing the player to recieve little damage again.
Saveloading without pausing right before hitting a prop with Quickclip will cause the Quickclip to be Significantly more consistent.
Saveloading, both 0-tick and slapping in combination with high speed when hitting a prop will cause the force to drastically multiply.
This can be used for either moving props out of the way or destroying destructuble objects, such as planks way easier.
https://www.youtube.com/watch?v=gt1lIdmsItI