<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multimedia.cx/index.php?action=history&amp;feed=atom&amp;title=CFO</id>
	<title>CFO - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multimedia.cx/index.php?action=history&amp;feed=atom&amp;title=CFO"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CFO&amp;action=history"/>
	<updated>2026-04-18T09:36:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=CFO&amp;diff=15563&amp;oldid=prev</id>
		<title>Kostya: fill information from ScummVM code</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=CFO&amp;diff=15563&amp;oldid=prev"/>
		<updated>2021-07-20T10:49:11Z</updated>

		<summary type="html">&lt;p&gt;fill information from ScummVM code&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This is a format employing [[FLIC]] compression in a custom container supporting engine commands. It is used in &amp;lt;i&amp;gt;Chewy: Esc from F5&amp;lt;/i&amp;gt; game.&lt;br /&gt;
&lt;br /&gt;
=== Container header ===&lt;br /&gt;
&lt;br /&gt;
  4 bytes - CFO\0&lt;br /&gt;
  4 bytes - zero&lt;br /&gt;
  2 bytes - number of frames&lt;br /&gt;
  2 bytes - width&lt;br /&gt;
  2 bytes - height&lt;br /&gt;
  &lt;br /&gt;
  4 bytes - frame delay&lt;br /&gt;
  4 bytes - frame data start&lt;br /&gt;
&lt;br /&gt;
=== Frame types ===&lt;br /&gt;
&lt;br /&gt;
  4 bytes - frame size&lt;br /&gt;
  2 bytes - frame type&lt;br /&gt;
&lt;br /&gt;
Known frame types:&lt;br /&gt;
* 0xF1FA - FLIC-compressed video frame&lt;br /&gt;
* 0xFAF1 - custom commands&lt;br /&gt;
&lt;br /&gt;
=== Custom commands frame format ===&lt;br /&gt;
&lt;br /&gt;
Frame data consists of 2-byte number of commands and actual commands that start with 4-byte size and 2-byte type.&lt;br /&gt;
&lt;br /&gt;
Known commands:&lt;br /&gt;
* 0x00 - fade in (unused)&lt;br /&gt;
* 0x01 - fade out (unused), has 2-byte delay value&lt;br /&gt;
* 0x02 - load music &lt;br /&gt;
* 0x03 - load raw audio&lt;br /&gt;
* 0x04 - load sound effect, has 2-byte effect ID and actual audio data&lt;br /&gt;
* 0x05 - play music (from command data)&lt;br /&gt;
* 0x06 - play sequence (unused)&lt;br /&gt;
* 0x07 - play pattern (unused)&lt;br /&gt;
* 0x08 - stop music&lt;br /&gt;
* 0x09 - wait until music ends&lt;br /&gt;
* 0x0A - set music volume, has 2-byte volume in percent in command data&lt;br /&gt;
* 0x0B - set loop mode&lt;br /&gt;
* 0x0C - play raw audio&lt;br /&gt;
* 0x0D - play sound effect using provided ID, channel, volume and repeat flag (all in 2-byte variables)&lt;br /&gt;
* 0x0E - set sound volume, has 2-byte volume in percent in command data&lt;br /&gt;
* 0x0F - set channel volume, has 2-byte channel number and 2-byte channel volume&lt;br /&gt;
* 0x10 - free sound effect, has 2-byte sound effect ID&lt;br /&gt;
* 0x11 - music fade in (unused)&lt;br /&gt;
* 0x12 - music fade out&lt;br /&gt;
* 0x13 - set balance, has 2-byte channel ID and balance value&lt;br /&gt;
* 0x14 - set speed (unused)&lt;br /&gt;
* 0x15 - clear screen&lt;br /&gt;
&lt;br /&gt;
Music is its own MOD-like TFM format.&lt;br /&gt;
&lt;br /&gt;
[[Category: Game Formats]]&lt;/div&gt;</summary>
		<author><name>Kostya</name></author>
	</entry>
</feed>