SRB2 has the ability to take screenshots and record animated movies of what is displayed onscreen. Screenshots can be taken by pressing the F8 key or using the
screenshot console command. They are taken in the PNG format and saved in the SRB2 directory (or a user-specified custom folder) with the naming format
srb2XXXX.png, where XXXX is a four-digit number between 0000 and 9999. The game will automatically choose the first number that is not already taken by another screenshot in the folder. The screenshot will be taken in the game's current screen resolution. Note that typing
screenshot directly into the console will cause it to display in the screenshot. To prevent this, bind the command to a key or use the F8 key instead.
Movies can be recorded by pressing the F9 key to start recording and pressing it again to stop recording. Alternatively, the console commands
stopmovie can be used, although as with screenshots, this will cause the console to be visible in the movie. By default, movies are recorded in the GIF format if the game is run with the Software renderer, and in the APNG format if the game is run with the OpenGL renderer. They are saved in the same folder as screenshots and with the same naming format, i.e.,
srb2XXXX.png, respectively. APNG screenshots are taken in the game's current screen resolution, while GIF screenshots are downscaled to 320×200 by default.
Screenshot and movie settings
By default, screenshots and movies are saved in the SRB2 directory (or the "home" directory in some ports). This can be changed with the console variable
screenshot_option. If it is set to
Custom, the console variable
screenshot_folder will specify the folder where screenshots and movies are saved. You can specify either an absolute path (e.g.,
C:/Users/ExampleUser/SRB2Screenshots) or a relative path from the SRB2 directory (e.g.,
The file format used for movies is determined by the
moviemode_mode console variable. The available settings are
"aPNG" for APNG,
"GIF" for GIF, and
"Screenshots" for storing the movies as a sequence of PNG screenshots for each frame. The GIF format is only available in the Software renderer. For APNG movies, the speed at which they should be played back can be set with the
apng_speed console variable.
Screenshots and movies taken in SRB2 are compressed to save space. The compression settings for screenshots and APNG movies can be adjusted with the following console variables:
apng_compress_level: Determines how much the screenshots/movies are compressed.
apng_memory_level: Determines how much memory is used during compression.
apng_strategy: Determines the compression strategy used.
apng_window_size: Determines the size of the compression window, which affects the compression quality and the memory usage during compression.
GIF movies are compressed with the Lempel–Ziv–Welch algorithm. Additionally, SRB2 attempts to save space by storing parts of the image that remain unchanged between frames only once; this can be disabled with the
gif_optimize console variable. While APNG movies are recorded at the game's current screen resolution, GIF movies are downscaled to 320×200 by default. This can be changed with the
gif_downscale console variable.
When a screenshot or APNG movie is taken in SRB2, metadata will be saved into the corresponding PNG file – this includes information such as SRB2's version number, the map being played, and the player's coordinates in the map. This metadata can be handy for debugging, e.g., for locating where a rendering error is taking place in a map without use of development mode to show the coordinates.
The full list of metadata parameters for a screenshot/APNG movie is shown below:
|Title||The version of SRB2 being used, e.g., "Sonic Robo Blast 2 v2.1.20".|
|Author||The author of the PNG file; this displays the username of the account on the computer the screenshot/APNG movie was taken with, rather than the in-game player name.|
|Description||Describes the purpose of the PNG file – this will display "SRB2 Screenshot" for screenshots, and "SRB2 Movie" for APNG movies.|
|Playername||The in-game player name of the screenshot's author. If the file is an APNG movie, this uses the player name that was used at the time the APNG recording was started.|
|Mapnum||Displays the map number in the format "MAPxx". If the file is an APNG movie, this uses the map number of the map that the APNG recording started in. If the screenshot/APNG movie was not taken in a map, this instead displays "Unknown".|
|Mapname||Displays the map's name (e.g., "Greenflower Zone Act 1"). If the file is an APNG movie, this uses the name of the map that the APNG recording started in. If the screenshot/APNG movie was not taken in a map, or the map does not have a name, this instead displays "Unknown".|
|Location||The X/Y/Z coordinates and angle of the displayed player in the map, given in the format "X: x Y: y Z: z A: angle". If the file is an APNG movie, this uses the coordinates and angle of the player given at the time the APNG recording was started. If the screenshot/APNG movie was not taken in a map, this instead displays "Unknown".|
|Interface||Displays the interface SRB2 is being played with:|
|Revision||Revision number of the executable.|
|Build Date||Build date of the executable.|
|Build Time||Build time of the executable.|