Smacker Video SMK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
m (Ikskoks moved page GRAF:Smacker Video to Smacker Video SMK)
imported>Ikskoks
 
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{GRAFPageHeader}}
{{GRAFPageHeader}}
== SMK ==


== SMK ==
* ''' Format Type ''':    Video <br>
{{GRAFPageMisc}}
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' Signature ''':    SMK2 / SMK4<br>


=== Format Specifications ===
{{GRAFPageFormat|1=char {4} &nbsp;&nbsp;&nbsp; - Header {{Constant|(SMK2)}}<br>
uint32 {4} &nbsp; - {{Unknown}}<br>
uint32 {4} &nbsp; - {{Unknown}}<br>
uint32 {4} &nbsp; - Number Of Files<br>
byte {88} &nbsp;&nbsp; - {{Unknown}}


{{BlockDescription| // for each file }}
=== Format Specifications ===
: uint32 {4} &nbsp; - File Length


{{BlockDescription| // for each file }}
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
: byte {1} &nbsp;&nbsp;&nbsp; - {{Unknown}}
<pre>
// header
4 bytes (char) - signature // "SMK2" or "SMK4"
4 bytes (uint32) - width
4 bytes (uint32) - height
4 bytes (uint32) - number of frames
4 bytes (uint32) - frame rate
4 bytes (uint32) - flags
28 bytes (7 * uint32) - audio size array
4 bytes (uint32) - trees size
4 bytes (uint32) - mmap size
4 bytes (uint32) - mClr size
4 bytes (uint32) - full size
4 bytes (uint32) - type size
28 bytes (7 * uint32) - audio rate array
4 bytes (uint32) - unknown


byte {X} &nbsp;&nbsp;&nbsp; - File Data}}


=== Notes and Comments ===
// frame sizes
None.
num_of_frames *
{
  4 bytes (uint32) - frame size
}


=== MultiEx BMS Script ===
<bms author="unknown" ext="smk" games="'Jurassic Park: Trespasser'" platforms="'PC'" version="1.0" silence="no" verbose="no">
IDString 0 SMK2 ;
Get DUMMYL Long 0 ;
Get DUMMYL Long 0 ;
Get FILECNTL Long 0 ;
Set FILESTART Long 104 ;
Set FILEJMP Long FILECNTL ;
Math FILEJMP *= 4 ;
Math FILEJMP += FILECNTL ;
Math FILEJMP += 104 ;
Do ;
Set FILEOFF Long FILEJMP ;
GoTo FILESTART 0 ;
Get FILESIZE Long 0 ;
SavePos FILESTART 0 ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
Math FILEJMP += FILESIZE ;
Math EXTRCNT += 1 ;
While EXTRCNT <> FILECNTL ;
</bms>
<bms author="unknown" ext="zrb" games="'Total Annihilation'" platforms="'PC'" version="1.0" silence="yes" verbose="no">
IDString 0 SMK2 ;
Get DUMMYL Long 0 ;
Get DUMMYL Long 0 ;
Get FILECNTL Long 0 ;
Set FILESTART Long 104 ;
Set FILEJMP Long FILECNTL ;
Math FILEJMP *= 4 ;
Math FILEJMP += FILECNTL ;
Math FILEJMP += 104 ;
Do ;
Set FILEOFF Long FILEJMP ;
GoTo FILESTART 0 ;
Get FILESIZE Long 0 ;
SavePos FILESTART 0 ;
Log FILENAME FILEOFF FILESIZE 0 0 ;
Math FILEJMP += FILESIZE ;
Math EXTRCNT += 1 ;
While EXTRCNT <> FILECNTL ;
</bms>


=== Supported by Programs ===
x bytes - frame types
x bytes - huffman trees
x bytes - frame data
</pre>
</div>
 
=== MultiEx BMS Script ===
 
<bms author="unknown" ext="smk" games="'Jurassic Park: Trespasser'" platforms="'PC'" version="1.0" silence="no" verbose="no"> IDString 0 SMK2 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 104 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 4 ; Math FILEJMP += FILECNTL ; Math FILEJMP += 104 ; Do ; Set FILEOFF Long FILEJMP ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILEJMP += FILESIZE ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; </bms> <bms author="unknown" ext="zrb" games="'Total Annihilation'" platforms="'PC'" version="1.0" silence="yes" verbose="no"> IDString 0 SMK2 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 104 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 4 ; Math FILEJMP += FILECNTL ; Math FILEJMP += 104 ; Do ; Set FILEOFF Long FILEJMP ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILEJMP += FILESIZE ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; </bms>
 
=== quickBMS Script ===
 
* [https://pastebin.com/uuva6vAq smk_demuxer.bms]
 
=== Notes and Comments ===
 
* None.
 
=== Games ===
List of games using this file format:
* Blood (*.SMK) (PC)
* Hugo: Jungle Island (*.SMK) (PC)
* [[Jurassic Park: Trespasser]] (*.SMK)
* Total Annihilation (*.ZRB)
* William Shatner's TekWar (*.SMK)
* Many more...
Full list of games using Smacker can be found [https://web.archive.org/web/20060207064305/http://www.radgametools.com/smkgames.htm here]
 
=== Compatible Programs ===  
 
* {{ProgramSupportMexcom}}
* {{ProgramSupportMexcom}}
* Foobar2000 + vgmstream plugin (audio only)
* {{ProgramSupportGameExtracter}}
* {{ProgramSupportGameExtracter}}
* [http://www.radgametools.com/smkdown.htm Smacker]
* [http://www.radgametools.com/smkdown.htm Smacker]
* [http://libsmacker.sourceforge.net/ libsmacker] (+[http://sourceforge.net/projects/libsmacker/files/libsmacker-1.1/libsmacker-1.1.1r35.tar.gz/download source code])
* [http://www.radgametools.com/bnkdown.htm RAD Video Tools]


=== Links ===
=== See Also ===
* [http://www.radgametools.com/smkmain.htm Smacker Video home page]
* [https://wiki.multimedia.cx/index.php/Smacker Smacker File Format (multimedia.cx)]
 
* [[wikipedia:Smacker video|Smacker video (Wikipedia)]]
=== Games ===
<br/><br>
* [[Jurassic Park: Trespasser]] [[SMK|*.smk]]
* [[Total Annihilation]] [[ZRB|*.zrb]]


{{GRAFPageFooter}}


[[Category:Complete Almost Done|Smacker Video]]
[[Category:Complete WIP|Smacker Video SMK]]
[[Category:Platform PC|Smacker Video]]
[[Category:Platform PC|Smacker Video SMK]]
[[Category:BMS New|Smacker Video]]
[[Category:CE None|Smacker Video SMK]]
[[Category:BMS Author Unknown|Smacker Video]]
[[Category:Format_Video | Type: Video]]
[[Category:CE None|Smacker Video]]
[[Category:Extension_smk | Extension: smk]]
[[Category:File Format]]
[[Category:File Format]]

Latest revision as of 20:32, 25 April 2022

Back to index | Edit this page

SMK

  • Format Type : Video
  • Endian Order : Little Endian
  • Signature : SMK2 / SMK4


Format Specifications

// header
4 bytes (char) - signature // "SMK2" or "SMK4"
4 bytes (uint32) - width
4 bytes (uint32) - height
4 bytes (uint32) - number of frames
4 bytes (uint32) - frame rate
4 bytes (uint32) - flags
28 bytes (7 * uint32) - audio size array
4 bytes (uint32) - trees size
4 bytes (uint32) - mmap size
4 bytes (uint32) - mClr size
4 bytes (uint32) - full size
4 bytes (uint32) - type size
28 bytes (7 * uint32) - audio rate array
4 bytes (uint32) - unknown


// frame sizes
num_of_frames *
{
   4 bytes (uint32) - frame size
}


x bytes - frame types
x bytes - huffman trees
x bytes - frame data

MultiEx BMS Script

<bms author="unknown" ext="smk" games="'Jurassic Park: Trespasser'" platforms="'PC'" version="1.0" silence="no" verbose="no"> IDString 0 SMK2 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 104 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 4 ; Math FILEJMP += FILECNTL ; Math FILEJMP += 104 ; Do ; Set FILEOFF Long FILEJMP ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILEJMP += FILESIZE ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; </bms> <bms author="unknown" ext="zrb" games="'Total Annihilation'" platforms="'PC'" version="1.0" silence="yes" verbose="no"> IDString 0 SMK2 ; Get DUMMYL Long 0 ; Get DUMMYL Long 0 ; Get FILECNTL Long 0 ; Set FILESTART Long 104 ; Set FILEJMP Long FILECNTL ; Math FILEJMP *= 4 ; Math FILEJMP += FILECNTL ; Math FILEJMP += 104 ; Do ; Set FILEOFF Long FILEJMP ; GoTo FILESTART 0 ; Get FILESIZE Long 0 ; SavePos FILESTART 0 ; Log FILENAME FILEOFF FILESIZE 0 0 ; Math FILEJMP += FILESIZE ; Math EXTRCNT += 1 ; While EXTRCNT <> FILECNTL ; </bms>

quickBMS Script

Notes and Comments

  • None.

Games

List of games using this file format:

  • Blood (*.SMK) (PC)
  • Hugo: Jungle Island (*.SMK) (PC)
  • Jurassic Park: Trespasser (*.SMK)
  • Total Annihilation (*.ZRB)
  • William Shatner's TekWar (*.SMK)
  • Many more...

Full list of games using Smacker can be found here

Compatible Programs

See Also