1. Variables
    1. Netcode
    2. Network
    3. Triggers
    4. Effects
    5. Console
    6. Screen
    7. Video
    8. OpenGL renderer
    9. Misc
  2. Macros
  3. Commands

Variables

Netcode

Q2PRO client allows separation of outgoing packet rate, physics frame rate and rendering frame rate. Separation of physics and rendering frame rates is accomplished in R1Q2 cl_async style. However, this may not be sufficient in cases you want to run at high FPS for some reason, but still want to preserve your upload bandwidth.

This is when packet rate and physics frame rate separation comes in handy. In order to accomplish this, ability to pack several input samples into the single network packet is needed, which requires modifications to the network protocol for a clean solution.

Q2PRO protocol naturally provides such ability. In case of default Quake2 protocol and R1Q2 protocol a hacky solution exists, which exploits dropped packet recovery mechanism built into the original Quake2 netcode. This hack is disabled by default.

Network

All cvars below can be changed at runtime and will take effect immediately.

Triggers

Effects

Colors can be specified in one of the following formats:

Alternative beam based rail trail effect is available only when using OpenGL refresh library. In software mode original particle based effect is used unconditionally.

Console

Screen

Video

Hard coded list of the fullscreen video modes is gone from Q2PRO, you can specify your own list in configuration files. Vertical refresh frequency freq and bit depth bpp can be specified individually for each mode.

Changing video modes no longer requires vid_restart, and is literally instant on some setups (e.g. X11 w/ LCD monitor). In windowed mode, size as well as position of the main window can be changed freely.

For example, set vid_modelist "640x480@75 800x600@75:32", followed by set vid_fullscreen 2 selects 800x600 video mode at 75 Hz vertical refresh and forces 32 bit framebuffer depth.

OpenGL renderer

Misc

Macros

Macros behave like automated console variables. When macro expansion is performed, macros are searched first, then console variables. Each of the following examples are valid: $loc_here, ${loc_here} and ${$loc_here}.

Commands