// ------------------------------- // Quake CD track parsing analyser // ------------------------------- // Compile this DEM text file to a binary DEM file with LMPC (version>=3.1.6): // lmpc --to-bin --game QUAKE cd.txt cd.dem // and copy it in your quake/id1 directory. // Playback the binary DEM file with // +playdemo cd // The playback should print a short message on the console, which says // what CD track parsing method your Quake binary uses. // Find out more about CD track parsing methods in // "The unofficial DEM format description" on // http://demospecs.half-empty.de/dem // Get the current version of "The Little Movie Processing Centre" from // http://demospecs.half-empty.de // Get the precompiled binary DEM file from // http://demospecs.half-empty.de/misc/cd.dem // Get the DEM text file from // http://demospecs.half-empty.de/misc/cd.txt // 6/16/1998, Uwe Girlich (uwe@half-empty.de) // This track can only be parsed correctly by the fscanf method // The byte-by-byte method simply continues. track "-1 "; // This block will be parsed as usual from the fscanf method but // the byte-by-byte method starts reading after the first 0x0A byte (\n). block { camera 0.0 0.0 0.0; // Print the message for the old fscanf method. // \n is not allowed here because it would stop the byte-by-byte method. print " old: fscanf "; // Stop further reading. disconnect; unknown { // This is a 0x0A (\n) to stop the byte-by-byte parsing method. id 0x0A; // 0x1D (29) is the length of the following data block. data 0x1D 0x00 0x00 0x00 // 12 bytes for the camera. 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00; } // Print the message for the byte-by-byte method. print " new: byte-by-byte\n"; // Stop further reading. disconnect; }