Smacker Video SMK: Difference between revisions
imported>Dinoguy1000 m (To be continued...) |
imported>Ikskoks (→Games) |
||
| (43 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{GRAFPageHeader}} | {{GRAFPageHeader}} | ||
== SMK == | |||
* ''' Format Type ''': Video <br> | |||
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | |||
* ''' Signature ''': SMK2 / SMK4<br> | |||
=== Format Specifications === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<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 | |||
// frame sizes | |||
num_of_frames * | |||
{ | |||
4 bytes (uint32) - frame size | |||
} | |||
x bytes - frame types | |||
x bytes - huffman trees | |||
x bytes - frame data | |||
</pre> | |||
</div> | |||
=== MultiEx BMS Script === | === 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> | ||
Get DUMMYL Long 0 ; | |||
Get DUMMYL Long 0 ; | === quickBMS Script === | ||
Get FILECNTL Long 0 ; | |||
Set FILESTART Long 104 ; | * [https://pastebin.com/uuva6vAq smk_demuxer.bms] | ||
Set FILEJMP Long FILECNTL ; | |||
Math FILEJMP *= 4 ; | === Notes and Comments === | ||
Math FILEJMP += FILECNTL ; | |||
Math FILEJMP += 104 ; | * None. | ||
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 ; | |||
</ | |||
=== Games === | === Games === | ||
* [[Jurassic Park: Trespasser]] | 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 === | === Compatible Programs === | ||
* [ | * {{ProgramSupportMexcom}} | ||
* [[ | * Foobar2000 + vgmstream plugin (audio only) | ||
* [http://www.radgametools.com/ | * {{ProgramSupportGameExtracter}} | ||
* [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] | |||
=== See Also === | |||
* [https://wiki.multimedia.cx/index.php/Smacker Smacker File Format (multimedia.cx)] | |||
* [[wikipedia:Smacker video|Smacker video (Wikipedia)]] | |||
<br/><br> | |||
[[Category:Complete WIP|Smacker Video SMK]] | |||
[[Category:Platform PC|Smacker Video SMK]] | |||
[[Category:CE None|Smacker Video SMK]] | |||
[[Category:Format_Video | Type: Video]] | |||
[[Category:Extension_smk | Extension: smk]] | |||
[[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
- MultiEx Commander
- Foobar2000 + vgmstream plugin (audio only)
- Game Extractor
- Smacker
- libsmacker (+source code)
- RAD Video Tools
See Also