There are currently 5 players online.



1. Recording and capturing back to top

1.1. From demo to .avi back to top

Recording a sequence from a demo to a uncompressed .avi file is very easy in Warsow.
Start off by adjusting your here)
  • cl_demoavi_fps
  • A value of 30 fps should do for the beginning.
  • vid_mode (r_mode in old versions)
  • This is used for setting the resolution of your screen. The resolution is used as the size of the images created by the demoavi command so setting this to the correct value is important. There is a good article on what it should be set to and other quality issues on
    As a general rule it is best to set this to the maximum you can, this will mean that you will get the best quality image from your demo because later on you can size down the images to a better size (generally video will go down to something like 680x480, 800x600 or some widescreen variant). Remember though that the bigger the resolution, the larger the jpgs or avi will be.
    VID : Video card settings #9. has a list of all the vid_modes and their corresponding resolutions.
  • cl_demoavi_scissor
  • Make sure this is set to 0, unless you just want to record a part of the screen.
  • r_screenshot_jpeg
  • Should be set to 1 in order do use jpeg screenshots which are much smaller and save your memory which you will need to work on the uncompressed footage
  • r_screenshot_jpeg_quality
  • The quality of the jpeg screenshots should be set to 100 which equals 100% and results in best quality without any loose of data but with smaller jpeg files.
    After you've set up your config, go to the console and write "demo <demoname>" where <demoname> is the name of the demo you want to play in your "demos" folder without the .wdx ending. You can use additional commands for manipulating the demofile that make it much more comfortable to search for certain sequences in the demos:
  • demopause
  • This command toggles the pause state of a demofile.
  • demojump
  • The demojump command moves the current position that you are watching by the value you proceed to it. If the value is positive it moves a certain amount of seconds forward. If it's negative it moves backwards (hopefully included in wsw 0.3).
    demojump -X, moves back
    demojump +X, moves forward
    demojump X, jumps to specified second of the demo.

    When you have found a scene you want to record just use the "demoavi" command to toggle the recording of the final AVI file on and off.
    To convert the generated JPEG files to a single AVI file another tool is needed. You can choose whatever program you prefer for this job. However here some recommendations:
    in Linux the easiest way would be mencoder :
mencoder "mf://*.jpg" -mf fps=25 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4

You should look in the man page in order to use another codec and get better quality.
For Windows one of the best choices would be VirtualDub because of it's video and audio filters. You can download VirtualDub for free. After you've started VirtualDub choose File -> Open video file... and select the first screenshot of the scene you want to render. Now we need to set the proper compression for the final AVI file. For maximum quality we should choose uncompressed footage at 30FPS. First go to Video -> Framerate and choose the "Change to" option to change the framerate to 30FPS. Otherwise the sound will be out of synch in long scenes. Now choose Video -> Full processing mode and Audio -> No audio. Finally go to the Video -> Compression... option and select the Uncompressed option. Now choose File -> Save as AVI ... or press F7 to render the file to any destrination you want it to be. You can even choose to compress the AVI file directly which would result in a worse quality of the final rendering.

1.2. Recording sound back to top

Recording sound can now be done with cl_demoavi_audio "1". (cl_demoavi_video must be set to 0).
Suggested sound settings:
  • s_module 1 (with 2 capturing doesn't work)
  • s_volume 0.6 or lower
  • s_mixahead 0.2 (lower setting can cause sound crash).

The sound needs to be captured seperatly from the movie and therefor you need to watch every scene even twice. For recording Audio you can use the free tool Audacity or any other program you prefer. After installing Audacity you should make sure that you've installed LAME Mp3 codec to encode your files in the small and powerful mp3 format. You need to inline your sound for the recording procedure, too. Open up the Windows Control panel and and choose the Sounds and Audio Devices section and press the Advanced... button located in the center of the dialogbox. Now choose Options -> Properties -> Recording and select the Stereo Mixer as your input device. This will inline all sound you can hear. Now open up Audacity or any other recording program and record the sound. In Audacity you just need to go to the certain position in the demofile and press the red dot to start recording. The stop button stops recording. Window mode makes this procedure quite more easy. After recording choose File -> Export As MP3... and save the file whereever you want. Naming the clip and the soundfile with the same name will help you to find the proper clips later in the editing process. Finally you need to select the Microphone from your Audio settings in order to use it again...

1.3. The final compression back to top

1.4. Advanced recording techniques (freecam / camera scripting) back to top

Recopilation of commands:
  • demoPause: pauses the demo. It's not a democam command, but very useful for editing (on/off accepted since 0.3).
  • timescale: scales time up or down. smaller than 1.0 is slow motion, bigger fast motion. It's not a democam command, but very useful for editing.
  • demoEditMode enable/disables editing mode. It accepts "on" and "off" for binding too (bind <key> demoEditMode on).
  • demoFreeFly : in edit mode freefly along the map to position cameras. This command also accepts "on"/"off". If none is added, acts as toggle. When off it's preview mode.
  • addcam <type name> : adds a cam at current position in current time. types:
    • FirstPerson: While in this camera, the demo will show the player first person view
    • ThirdPerson: While in this camera, the demo will show the player third person view
    • Positional: Static camera which doesn't move. It can be set to track an entity so it's view can auto-aim it. It can make use of custom fov values. Positional cams must also be used to finish path_linear cam trajectories.
    • Path_linear: This camera will move from it's position to the next camera position. The next camera can be another path_linear camera or a positional camera. Path linear camera movement involves origin, viewangles and fov. All them will be "moved" to from it, to the next camera ones. Path_linear cameras can also track entities. Remember: A path_linear cam array must be finished in a positional cam.
    • Path_spline: Works the same as path_linear, but produces smooth curve paths.
    • orbital: A orbital camera will orbit around it's track entity, and will always look to it's track entity. This camera requires having a track entity assigned, and won't work without it. The radius of the rotation will be defined by the distance from the original camera placement to the track entity the first time the camera is activated. The rotation speed will be defined by the pitch, yaw and roll values of the camera. They will be set to 0, 96, 0 (horizontal rotation) at adding the camera and can be modified by editing the camera with editcam.
  • editcam <command>: edits the current cam; editcam commands:
    • type <type name>
    • track <entity number> ( 0 for no track )
    • fov <value> ( only for not player view cams )
    • timeOffset <milliseconds> ( move camera in time by + or - milliseconds )
    • origin ( changes cam to current origin )
    • angles ( changes cam to current angles )
    • pitch <value> ( assigns pitch angle to current cam )
    • yaw <value> ( assigns yaw angle to current cam )
    • roll <value> ( assigns roll angle to current cam )
  • deletecam: deletes the current cam in playback (current as in the info printed in screen)
  • clearcams: deletes every cam in memory.
  • saverecam <optional name>: saves the .cam script file with the changes. If no name is provided the demo name is used (it must have the demo name to be played).
  • importcams <filename> : imports a .cam file. File path is relative to the demos directory. The cameras imported are merged with the previously existing, if any. Use at your own risk.

1.5. Usefull tips back to top

to start demo with pause at the beginnig
/demo "X"; demopause

There is a lot of console commands, so using keybindgs should help enough. Some examples:
  • to start demoavi from the paused moment.
    bind <key> "demopause; demoavi"
  • to hide/unhide HUD during capturing.
    bind <key> "toggle cg_showhud"

2. Links back to top


Copyright © 2016

Warsow in social media