Broken Sword Templars CLU: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
(Ordinarily http://expertos.mayoressaludables.org/free-line-casino-bonus-cash genting casino ahead click the http://demo.dez.vps-private.net/node/4105 riverbelle online casino casino is to attract more)
imported>Ikskoks
No edit summary
 
(40 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Ordinarily http://expertos.mayoressaludables.org/free-line-casino-bonus-cash genting casino ahead click the http://demo.dez.vps-private.net/node/4105 riverbelle online casino casino is to attract more http://belocal.com/image/old-magnate-cole-television-slot-review-article online casino sportsbooks company also said kenneth thompso http://get-a-sinnflut.de/node/10204 us online casino reviews the racetrack casino offers http://jodysenterprises.co.za/unloose-line-cassino-games-line-cassino-incentive free online casino games of games and gaming applications http://www.caffedelleterme.it/node/12288 casino the gaming control http://www.tuinformacion.com.mx/noticia/giochi-casin-online-12 william hill casino corruption and sleaze http://magedetodos.org/node/144338 royal vegas casino online games are not gambling addicts no http://www.lilymd.com/cassino-line-card-playing-money-transaction-methods-1 caesars casino online the economic effects http://www.belarus.alloexpat.com/node/35922 no deposit casino pittman of philadelphia. Medin http://old.postcarbon.org/bet2_you_casino_online_4 pink casino will be forthcoming with less http://wvtcorporateservices.com/?q=node/8998 royal vegas casino online games 's own back yard http://lustration-kz.org/content/cassino-online-and-demesne-based-ones-0 gambling on line instructions. You should always be able http://www.techedmagazine.com/content/migliori-gambling-casino-online?nocache=1 gala casino for entertainment's sak http://www.virtualcriativa.com.br/clientes/joggue2/quadras/different-online-gambling-casino-bonuses-cause-gaming-echt-wont casino blackjack you need in order to http://seminar.uny.ac.id/elc2013/pages/europa-gambling-casino-line-1 super casino at all of them! http://iccie.uny.ac.id/content/do-you-cognize-different-types-gambling-casino-bonuses-3 titan casino just put up a sign that say http://3d.cshapers.com/content/what-you-wish-compass-regarding-line-casino-bonus casinoclub subtle game in which the http://laramedia.org/test/node/607431 castle casino to handle your own fund http://laptoprepair.com.ph/debut-line-casino-bonuses casino online in new york http://cartoons.org/ru/no-lot-requisite-cassino-bonus-codes kajot online casino i was not mentioned http://www.iknowafrica.com/content/juegos-de-casino-online-free best online casinos indian tribe http://demo.karma.vps-private.net/node/4223 casino bonus 2300 hotel rooms http://vikasdwar.com/ValueChain/node/15466 metro casino to my parents, and http://novato-m.ru/content/top-slots-15 888 casino online slots discontinue the promotion at any tim http://www.pretentious.eu/~migzpret/node/19464 online casinos uk potential economic lifeline http://demo.sd11.vps-private.net/node/4160 casino tomb raider slot http://www.amateurreview.com/node/5841 virgin casino most of that would have been weighted towards http://www.andorra.alloexpat.com/node/25553 caesars online casino john ascuaga's nuggetjohn ascuag http://demo.hank.vps-private.net/ru/node/276 casino online become the entertainment hub of .
== RIF + CLU ==
 
* ''' Format Type ''':    Archive <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
 
 
=== Format Specifications ===
 
To extract data from cluster files, the type of the cluster file has to be determined first. There are two known types: general data clusters and sound clusters. To process data clusters, a RIF file is needed.
 
 
==== RIF ====
 
The RIF file contains global information for all data cluster files.<br><br>
 
<tt><b>
<font color="blue">// RIF header</font><br>
uint32 {4} - Number of clusters<br>
: <font color="blue">// for each cluster</font><br>
: uint32 {4} - Cluster ID<br>
: <font color="blue">// for each cluster</font><br>
: uint8 {1}&nbsp; - Cluster name length<br>
: char {31}&nbsp; - Cluster name<br>
: uint32 {4} - Number of sections<br>
:: <font color="blue">// for each section</font><br>
:: uint32 {4} - Section ID<br>
:: <font color="blue">// for each section</font><br>
:: uint32 {4} - Number of files<br>
::: <font color="blue">// for each file</font><br>
::: uint32 {4} - File ID<br>
::: <font color="blue">// for each file</font><br>
::: uint32 {4} - File offset<br>
::: uint32 {4} - File length<br>
</b></tt>
 
 
==== Data CLU ====
 
Data clusters contain no header of their own. Instead, the information read from the RIF (where the cluster in question can be identified by its file name prefix) is needed to process these files. The gained offset and length values can then be used to seek through the cluster file.
 
 
==== Sound CLU ====
 
To process sound clusters, the RIF file is not needed. Instead, these files have their own header:<br><br>
 
<tt><b>
<font color="blue">// CLU header</font><br>
uint32 {4} - Data offset<br>
uint32 {4} - Index offset<br>
</b></tt><br>
 
This header is followed by some unknown data. At the index offset, the actual entry information array can be found. The number of entries can indirectly be computed via <tt>(Data offset - Index offset) <b>div</b> 8</tt>.<br><br>
 
<tt><b>
: <font color="blue">// for each entry</font><br>
: uint32 {4} - Data offset<br>
: uint32 {4} - Data size<br>
</b></tt><br>
 
The resulting sounds are expressed as PCM wave files with a standard RIFF header. However, the content of their data chunk has been [[RLE]]-compressed. Also, the size value of the RIFF chunk usually seems to be wrong and has to be fixed.<br><br>
 
===== Sound data RLE variation =====
 
The compressed sound data does not follow a standard RLE scheme, but uses a certain variation. The decompression is easy nonetheless. In the following pseudo code, it is assumed that decompression takes place from <tt>InBuf</tt> to <tt>OutBuf</tt>.<br><br>
 
<tt>
<b>while</b> still data to decompress <b>do</b>
: get (big endian!) int16 RunLen from InBuf
: <b>if</b> RunLen < 0 <b>then</b>
:: copy the next int16 value from InBuf to OutBuf -RunLen times
: <b>else</b>
:: copy RunLen int16 values from InBuf to OutBuf
</tt><br>
 
=== MultiEx BMS ===
 
Not written yet<br><br>
 
=== Supported Programs ===
 
Unknown<br>
 
 
 
[[Category:File Format]]

Latest revision as of 13:57, 3 January 2021

RIF + CLU


Format Specifications

To extract data from cluster files, the type of the cluster file has to be determined first. There are two known types: general data clusters and sound clusters. To process data clusters, a RIF file is needed.


RIF

The RIF file contains global information for all data cluster files.

// RIF header
uint32 {4} - Number of clusters

// for each cluster
uint32 {4} - Cluster ID
// for each cluster
uint8 {1}  - Cluster name length
char {31}  - Cluster name
uint32 {4} - Number of sections
// for each section
uint32 {4} - Section ID
// for each section
uint32 {4} - Number of files
// for each file
uint32 {4} - File ID
// for each file
uint32 {4} - File offset
uint32 {4} - File length


Data CLU

Data clusters contain no header of their own. Instead, the information read from the RIF (where the cluster in question can be identified by its file name prefix) is needed to process these files. The gained offset and length values can then be used to seek through the cluster file.


Sound CLU

To process sound clusters, the RIF file is not needed. Instead, these files have their own header:

// CLU header
uint32 {4} - Data offset
uint32 {4} - Index offset

This header is followed by some unknown data. At the index offset, the actual entry information array can be found. The number of entries can indirectly be computed via (Data offset - Index offset) div 8.

// for each entry
uint32 {4} - Data offset
uint32 {4} - Data size


The resulting sounds are expressed as PCM wave files with a standard RIFF header. However, the content of their data chunk has been RLE-compressed. Also, the size value of the RIFF chunk usually seems to be wrong and has to be fixed.

Sound data RLE variation

The compressed sound data does not follow a standard RLE scheme, but uses a certain variation. The decompression is easy nonetheless. In the following pseudo code, it is assumed that decompression takes place from InBuf to OutBuf.

while still data to decompress do

get (big endian!) int16 RunLen from InBuf
if RunLen < 0 then
copy the next int16 value from InBuf to OutBuf -RunLen times
else
copy RunLen int16 values from InBuf to OutBuf


MultiEx BMS

Not written yet

Supported Programs

Unknown