SAR

From P2SR Wiki

Revision as of 20:17, 2 February 2021 by BigDaniel (talk | contribs)

NeKz.jpg

Source Auto Record (SAR)


Source Auto Record is a Portal 2 Plugin developed by NeKz. The plugin is widely used by most if not all Portal 2 speedrunners across all different categories. It adds a wide variety of useful commands, and quality of life improvements that make running the game easier, and at times, more accurate.

How to install

SAR is very easy to install and use. To install, start by downloading your desired version from github (Linked in the info box at the top).

Windows Firewall Issues

It's important to note that Windows often doesn't trust .dll files from github. There is a chance that downloads of this plugin will result in windows defender or other anti-virus programs automatically deleting the file. You will need to go and manually add exceptions for the file in any directory you keep it in (more than likely the downloads folder, and your portal2 folder).

Loading SAR in Portal 2

Portal 2 can load .dll plugins through the console command plugin_load pluginname. This command will search the default directory of \steamapps\common\Portal 2 and \steamapps\common\Portal 2\portal2, so your \Portal 2 folder, or \portal2 folder is where you will want to place SAR.

Notes

  • Ensure that SAR is installed in your actual install location. Be sure to check this by browsing local files through the steam properties of the game.
  • All plugins are unloaded after the game is closed. Every time you reopen Portal 2, the plugin will be unloaded, it is recommended you add the plugin_load sar line to your autoexec so that you will not need to reload the plugin every time you launch the game.
  • Portal 2 Speedrun Mod (p2sm) uses SAR for timing as well. But the mod reads from your base game install, so you do not need any special installation for SAR with p2sm. Just install SAR normally for portal 2.

Configuring with Livesplit

.asl files are used to interface with livesplit, so using sar with livesplit is fairly simple following these steps.

1. Create a new file called sar.asl (the folder does not matter as long as you can find it), or alternatively, download the already made file from the Resources page on Speedrun.com

2. Copy and Paste the information from this link into the file, and save it.

3. Open Livesplit with Portal 2 splits (splits can be found at here).

4. Right-click and select Edit Layout

5. Select the large + icon at the top left.

6. Go to Control

7. Select Scriptable Auto Splitter and enter the file directory (Ex: C:\Livesplit\Components\sar.asl)

8. Right click on Livesplit, and hover "Compare Against", and select "Game Time"


Trouble Shooting

  • Livesplit sometimes needs to be ran as an admin on your machine to work. If Livesplit isn't updating, run Livesplit as an admin.
  • Attempting to run Livesplit while Livesplit is still located in it's original ZIP file will cause issues, be sure to extract.
  • Be sure to disable the Autosplitter built into to Livesplit through the Edit Splits... tab. This will interfere with SAR's autosplitter
  • Ensure you haven't accidentally unchecked any of the options boxes in the settings for the Scriptable Autosplitter. (Start, Split & Reset)
  • Make sure your livesplit SAR.asl file is an .asl file, and not a text file, and try remaking the file to ensure there are no issues.
  • On fresh windows installs, there can often be dependencies that aren't installed. If all steps have been followed, and SAR is still not loading, check your device drivers, and install other applications that are common on Windows machines (can include other games). Try installing these dependencies:

Commands

Shorter Load Times

The following commands in Blenderiste's version of SAR are used to stop the game from loading visuals that acompany the load screens. These visuals actively stop the game from loading while they're being displayed, so disabling them helps load times.

ui_loadingscreen_fadein_time 0

ui_loadingscreen_mintransition_time 0

ui_loadingscreen_transition_time 0

Disabling the Challenge Mode Leaderboard Popup

This command automatically closes the leaderboard popup at the start of map in challenge mode. It is now allowed in all single player challenge mode levels.

Note: Not recommended for use in coop, as it can cause issues with the start of the level, and potentially make your run invalid.

sar_disable_challenge_stats_hud 1


Full Game Commands

Timer Offsets (Container Ride Save)

For Container Ride Save, the command sar_speedrun_offset is used to offset the timer to account for the skipped cutscene. The full value used is 16868, so sar_speedrun_offset 16868

Replacement Larger cl_showpos

The cl_showpos 1 values are very small. Using sar_hud allows you to change to a larger font type. The three commmands that replace cl_showpos 1 are:

  • sar_hud_velocity 1
  • sar_hud_position 2
  • sar_hud_angles 2

The sar_hud_precision command is coming to SAR 1.12 soon, and will allow you to round to better emulate cl_showpos 1

Demo Recording

If you are using demo recording for your verification on speedrun.com, using the command sar_autorecord 1 will automatically start recording a new demo every new level and restart. Make sure to start a demo recording at the start of your run with record demoname, and to use the command stop after the timer stops, after moonshot at the end of your run.

Reseting a Run

To reset a speedrun simply input sar_speedrun_reset

Timing / Not Timing Pauses

If you wish for SAR to not continue timing the run when paused, use sar_speedrun_time_pauses 0 as it is set to 1 by default (Note: Pausing to gain any sort of advantage will disqualify your run. ie checking coordinates for coordinate specific lineups)