<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://3dfxdev.net/edgewiki/index.php?action=history&amp;feed=atom&amp;title=ROQ</id>
		<title>ROQ - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://3dfxdev.net/edgewiki/index.php?action=history&amp;feed=atom&amp;title=ROQ"/>
		<link rel="alternate" type="text/html" href="https://3dfxdev.net/edgewiki/index.php?title=ROQ&amp;action=history"/>
		<updated>2026-06-06T15:35:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.0</generator>

	<entry>
		<id>https://3dfxdev.net/edgewiki/index.php?title=ROQ&amp;diff=354&amp;oldid=prev</id>
		<title>Corbin: added ROQ video format</title>
		<link rel="alternate" type="text/html" href="https://3dfxdev.net/edgewiki/index.php?title=ROQ&amp;diff=354&amp;oldid=prev"/>
				<updated>2015-08-26T06:38:34Z</updated>
		
		<summary type="html">&lt;p&gt;added ROQ video format&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''RoQ''' is a full motion video format originally developed for [http://www.mobygames.com/game/dos/11th-hour The 11th Hour] by Graeme Devine. The format was later used as the FMV format for [http://www.mobygames.com/game/windows/quake-iii-arena Quake III: Arena] and derivative games.&lt;br /&gt;
&lt;br /&gt;
According to excerpts of Devine's ''11th Hour'' development journal published in Wired at [http://www.wired.com/wired/archive/3.08/shipping.html http://www.wired.com/wired/archive/3.08/shipping.html], the RoQ format was named after Devine's newborn daughter, Roqee.&lt;br /&gt;
&lt;br /&gt;
3DGE implements full support for ROQ, both as triggerable cinematics and rendering to a surface in the game world. A pre-rendered cinematic also replaces the 3DGE splashscreen (inherited from [[1.32]]). The videos can not be compressed into a WAD, but rather in a subfolder named &amp;quot;/cin&amp;quot;. This folder name is hard-coded and cannot be changed - 3DGE will always look in this folder if it is present. If the splash cinematic is not found, 3DGE will skip rendering it entirely. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== File Format ==&lt;br /&gt;
A RoQ format is comprised of a series of chunks. These chunks may indicate the format signature or playback parameters, or may contain encoded pieces of video frames or audio wave forms.&lt;br /&gt;
&lt;br /&gt;
=== Chunk Format ===&lt;br /&gt;
Each chunk has the following format (all multi-byte numbers are little-endian):&lt;br /&gt;
&lt;br /&gt;
 bytes 0-1  chunk ID&lt;br /&gt;
 bytes 2-5  length of chunk payload&lt;br /&gt;
 bytes 6-7  chunk arguments&lt;br /&gt;
 bytes 8..  chunk payload&lt;br /&gt;
&lt;br /&gt;
Note that bytes 2-5 only contain the length of the chunk payload, not the entire chunk including the 8-byte header. Also, the RoQ_SIGNATURE chunk contains 0xFFFFFFFF for this field and should only be used for format validation purposes.&lt;br /&gt;
&lt;br /&gt;
=== 0x1084 - RoQ_SIGNATURE ===&lt;br /&gt;
A signature chunk has a length of 0xFFFFFFFF and no payload. The chunk argument represents the movie playback framerate.&lt;br /&gt;
&lt;br /&gt;
=== 0x1000 - RoQ_QUAD ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1001 - RoQ_INFO ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1002 - RoQ_QUAD_CODEBOOK ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1011 - RoQ_QUAD_VQ ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1012 - RoQ_JPEG ===&lt;br /&gt;
A JPEG chunk contains a plain JFIF file that can be decoded with a standard JPEG image decoder.&lt;br /&gt;
&lt;br /&gt;
=== 0x1013 - RoQ_HANG ===&lt;br /&gt;
The purpose of this chunk type is unclear.&lt;br /&gt;
&lt;br /&gt;
=== 0x1020 - RoQ_SOUND_MONO ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1021 - RoQ_SOUND_STEREO ===&lt;br /&gt;
&lt;br /&gt;
=== 0x1030 - RoQ_PACKET ===&lt;br /&gt;
This chunk is known to occur in RoQ files from The 11th Hour. It's use appears to be related to audio processing.&lt;br /&gt;
&lt;br /&gt;
=Implementation in 3DGE=&lt;br /&gt;
Under construction!&lt;/div&gt;</summary>
		<author><name>Corbin</name></author>	</entry>

	</feed>