QLDT supports two games: Quake Live with dm_73 demo extension and Quake 3 Arena with dm_68 extension. Support here means compatibility with the mentioned extensions on a software level. There can be a logical differences under the same protocol, caused, for example, by mods (Quake 3), or the gradual evolution of the game (Quake Live). And if the changes introduced to the protocol by Quake Live is minor, the changes introduced by Quake 3 mods cause to support each of them separately. From the Quake 3 mods, now supported (in addition to vanilla mode) only OSP and CPMA, and all program features also apply to them as well.
Firefox plugin is used for the Quake Live demos playback. Plugin itself is a library, bearing different names depending on the platform: npquakelive.i386.so on Linux x86, npquakelive.x64.so on Linux x86_64 and npquakezero.dll in Win32. The path to this library is determined automatically when you first start the program, but you still can change it or enter it manually in the options. In addition to the plugin path, the path to home directory (home path) is also needed, and also determined automatically. The path to home directory is the path to directory which contains a baseq3 folder, with your screenshots, demos and configs.
Running two instances of the Firefox plugin in the same time (in browser, and, from other username, in demotools) will lead to crash. Close firefox page before using demotools or, if you are on Linux, use the same username, and it will log out automatically. Also, running of two Quake Live game instances in the same time will cause a crash immediately.
There are two types of demo lists: the main list (it is always opened in the first tab) through which manages the demos in the home directory of the game, and the list of search results. All of the lists have a two tables with an information from the demo headers at the right side. The top one, lists the player names without a clan tags and colors, the spectators in the list are always lower than the players which are sorted by teams, first red then blue. The bottom table lists all server variables from the selected demo header. The players table clan tags display can be enabled in the View menu.
Not counting the find demo results table, that is similar to the main table, the search result lists come in two forms, depending on the search type. Not counting the displayed information, the difference between them only in the fact that when viewing segments of the frags search, their length are equal to the time from first to last frags, plus double segments boundaries extension time, when the length of the segments of the text search is only twice segments boundaries extension time.
Records from the results tables initially are not a files on your hard drive, despite the fact that they can work as well as entries from the main table. When you delete a records from the demo search results table, the files are not deleted.
Control, Shift or Insert keys are used for selecting multiple table records. Delete - deletes the record, Enter or double click - plays it. In addition, in the main table following keys can be used: F5 - to update the table, F9 - to rename the file.
Tables sorted by clicking on a desired column header. Clicking on a title of already sorted column changes the sort order.
You can drag demos in the tables, changing their order relative to each other.
Other features are in the context menu of tables (right-click).
Table columns display is configured in the View menu.
All tables are joined by a resizable splitters.
Alternate row and selection colors can be adjusted in the options by changing its lightness/darkness factors. Factor is the percentage which should lighten or darken the color. That is, if the color of your system theme is dark, the factor will be used for lighting, and vice versa.
Automatically saved when you exit the program: column widths, splitter sizes, column sorting and their order, as well as the size and location of the main window (in Linux, the desktop environment is responsible for the location, so it is not saved).
Demo header reading is used for filling the main table with an information. Header is the first message of the game, it contains all the information needed for client initialization before viewing the demo. Demo headers contain only information that is available in the game at the record starting time. When you open a folder, QLDT reads the headers of all the demos that it contains, but, because on slower machines reading of thousands demo headers may take a minutes, all the information read while indexing, stored in the database, and fetched from there when you reopen an indexed directories. The database is located in user's home directory in the Application Data\QLDT\db on Windows or .qldt/db in GNU/Linux. It is sufficient to remove the above db directory for clearing the entire demo database.
Demos with a header read errors are marked with the special icon. If a demo is corrupted somewhere inside, it will be probably couldn't be opened for editing, and, in this case, exporting to XML can be used for its reading or correction.
The main window accept drops of files with the extensions: dm_68, dm_73, zip, rar, 7z, cfg, menu, h. Dropped archives will be unpacked, and text files are opened in the config editor. In addition, demo tables records can be dragged to the opened directory tree, or to other program window.
This function renames the selected demos in accordance with the specified format, using data from their headers. You can not rename the demos that are opened for editing.
Organize moves all selected demos to subdirectories under the specified format. For example, if you use the format <T>/<Y> (you can also use the backslash in the path - \), the selected demos will be grouped by game type and year of record, and moved into the appropriate subdirectories (if necessary, specified directory structure will be created automatically). If none of the demos is selected, the operation will be performed with all demos in the directory.
Directory tree is used for navigating through the subdirectories of the demos directory and game selection. By default, the tree is invoked by clicking on the game logo at the left of the main demo list tab. Also, it can be placed at the left of the main table and keep it always opened here, by enabling the appropriate option in the settings. Directories in the tree is selected by double-clicking, and expanded by pressing the arrow at the left of folder icons. Use the context menu of a tree for creating a new directory, as well as renaming, deleting, or packing it.
This directory, by default, contains all the demos opened by the application. It is temporary and cleared by closing or opening the program. Its use can be turned off and all new demos will be transferred to the current chosen directory.
When you install QLDT through Windows setup or Debian package, it associates files with the extensions dm_68, dm_73, cfg and menu. It is possible to optionally not associate QLDT with any extensions in the Windows installer. When you open a file associated with QLDT via the system file manager, file will be opened in the program.
For enabling the file assotiations on a non-Debian Linux distros, manually copy these files from the desktop directory:
*.desktop to /usr/share/applications
*.xml to /usr/share/mime/packages
*.png to /usr/share/pixmaps
Update mime database after the copying:
$ update-mime-database /usr/share/mime
When you open a link, the file it points will be downloaded and unpacked, if it is archive. Also, links can be sent from Firefox, via its context menu item Send Link. A link can be dropped on the main window, like a file, in this case it will also be downloaded.
By default all keys are filtered by the program, and you able to use some of the demo player functions, like next/prev demo or any defined action. If the filter captures some key that isn't defined in the QLDT options, or if console is opened, it forwards the key to QL. Keyboard filter can be disabled in the options.
|Default actions and key bindings|
|Slow timescale *||Delete|
|Fast timescale *||End|
|Very fast timescale *||Page Down|
|Increase sound volume||Equal|
|Decrease sound volume||Minus|
|Sound volume 10-100%||1-0|
|Show scores *||Tab|
|Show accuracy *||A|
|Show chat window||T|
|Repeat current demo||Enter|
* Action ends when the key is released.
You can also assign your own actions by using the Custom tab, there you can specify an actions that will occur when a keys are pressed and released.
This menu allows to disconnect from quakelive.com and close the plugin.
The games can cache its settings changes after the demo playback. To always play with the same settings after demo watching, create autoexec.cfg file with your settings in baseq3 directory. But autoexec.cfg is not needed by default for viewing Quake Live demos and further playing with the same settings. Since Quake Live is executed in the QLDT environment, there has been made a prohibition of the QLDT-affected game settings saving. The following cvars: r_fullscreen, r_mode, com_cameramode, r_inBrowserMode, cl_quitOnDemoCompleted, timescale, in_nograb, s_volume, cg_draw2D and com_allowConsole, after the demo playback in QLDT, will remain with the same values. This prohibition can be disabled in the options, and then, if there is no autoexec.cfg in baseq3 directory, the program will offer to create one before viewing the demos, otherwise the values of the above cvars may affect the further playing through a browser.
com_cameramode and Freeze tag:
Add seta com_cameramode 0 to your demo config in order to see the character frozen body. Remember that the com_cameramode 0 will stop a demo playback after pressing any key that isn't defined in the QLDT options.
This setting removes the delay with the static screen and the words "Waiting on Advertisement". It is disabled by default, and, in this mode, the unsubscribed users can't watch a short demos. When editing, the delay is removed automatically, regardless of program settings. This option only changes a temporary copies of the demos which is selected for playback, so the original demos is left unchanged.
To play Quake 3 demos, QLDT starts its process, specifying by the command line what mod to run, and passing other settings same way. If, while Quake 3 process is running, another demo of the same game is started, the process will be stopped and restarted with the other demo in the command line.
Other programs run by the same principle as Quake 3, but without a mod. In the options, a program can be added to the context menu of certain demo formats, to the double-click action, or to the edited demo preview action.
An additional program setup on the WolfcamQL (can be found on the ESR forum) example:
After the WolfcamQL unpacking and setting up, there is necessary to create a link to the Quake Live baseq3 demos directory in the wolfcam-ql subdirectory, to QL, and the other program, in this case WolfcamQL, could work together.
Before creating the link, you have to delete or move the demos directory from the wolfcam-ql subdirectory.
On the Windows the link can be created with the Junction application. For example, if QL home directory is C:\Documents and Settings\User\Application Data\id Software\quakelive\home, and WolfcamQL is located in C:\wolfcamql, a command for creating the link will be look like:
junction C:\wolfcamql\wolfcam-ql\demos "C:\Documents and Settings\User\Application Data\id Software\quakelive\home\baseq3\demos"
In the GNU/Linux the link can be created by the next command, in the case if WolfcamQL is located in ~/wolfcamql:
ln -s ~/.quakelive/quakelive/home/baseq3/demos ~/wolfcamql/wolfcam-ql/demos
After that, for a full working, it is enough to specify the path to the WolfcamQL executable in the QLDT options, and select the actions for which it will be used.
Any table record can be edited by double click. The table at the right of the commands table used for easier player information or cvar editing. You need to enter a command code when you edit a name of a command in the commands table, so this operation is not recommended for users who are not familiar with the game protocol.
The timeline is used to select parts of the demos, which may be later included in the result of editing, or, conversely, cutted out of it. If nothing is selected, it is assumed that all selected. Gray areas indicate the warmup and pauses. The boundaries of the selected segments can be selected and moved: with a mouse, by dragging them, or programmatically by changing the appropriate value of the time spinbox under the bar. You can deselect all by the button at the right of the timeline.
By default, the timeline shows in red a long lags that could lead to showing the Connection Interrupted message.
These options are set QLDT to not include all the warmup or pause related frames to the editing result.
This feature is intended to eliminate some effects of the lags. It can make the game more smoothly, but no more than that, because effects caused by lags often are part of the game, and elimination of them in such case can only be done by cutting out a part of frames.
Besides the ability to save the result as a demo file, you can also save it in XML and TXT formats. When saving as XML, the whole structure of the demo is saved, and it is possible to import the file back later. When saving as TXT, only the original chat log (without text coloring symbols) is written to the file.
This function searches for a demos in the database on the specified criteria and displays results in the separate table. Special wildcard characters can be used in the text boxes input. Wildcards can be escaped with the \ (backslash) symbol.
|?||Matches any single character.|
|*||Matches zero or more of any characters.|
|[...]||Sets of characters can be represented in square brackets, similar to full regexps.|
This function scans a demos in the specified directory in the search of a frag sequence, made by a player that recorded the demo, in accordance with certain conditions. Warmup frags will be ignored. The results are displayed in a separate table at which you can work almost as well as with the main.
Player names can be separated by commas in the Have players field.
The following weapons: Rocket Launcher, Grenade Launcher, Plasma Gun and BFG 10K can do a frags by a splash damage, i.e. without a player being hit directly by a projectile. You can filter out such frags by turning on Direct hits only option.
This function searches, depending on the protocol, commands chat, tchat and mm2, with the text that is identical to entered. Results, like when searching for frags, are displayed in a separate table. By default, the search ignores a colors of the text, that is, for example, when searching string gg, a strings ^7g^5g and ^5g^7g will hit to results, and the color symbols will be removed. To search for a string without ignoring the colors, you need to turn off the appropriate option. You can use wildcard characters, as when searching for demos.
Demos can be exported to XML, since this kind of content can be read by a human or processed by a program. Also, there is an import function that converts a demo from the XML format to the game format.
For the convenience of external programs, there are console keys in QLDT for XML importing and exporting:
|-i||Import specified demo from XML|
|-e||Export specified demo to XML|
|-o||Export output file name or path for import (optional)|
When using them, the program will run in the console, and will be closed after the operation.
Old QL Beta Demos Fix: viewing the old demos recorded on some maps can cause CM_InlineModel: bad number error. This feature automatically updates the demos, making them suitable for viewing.
A simple text editor with tabs, syntax highlighting for Quake scripts (cfg, menu, h), autocompletion, sorting and a config files comparsion. Exists as a separate program and used in QLDT for config files editing. In addition to the actions listed in the Edit, the Shift+Delete combination can be used for the current line deletion.
It is possible to configure the editor to use custom files that contain lists of actions, cvars, commands and keys. When you activate the use of custom highlighter files, they will be automatically created in the specified directory for a further changes. Editor uses the information from these files for syntax highlighting, for autocompletion, and for a config files comparsion.
The config comparison tool compares the cvars of a two config files and shows the differences. The table will show a dash instead of value, if one of the configs insn't defines a cvar, that defined in another one.