Smacker Video SMK: Difference between revisions
imported>Ikskoks (→SMK) |
imported>Ikskoks (→Games) |
||
| (25 intermediate revisions by 2 users not shown) | |||
| Line 16: | Line 16: | ||
4 bytes (uint32) - height | 4 bytes (uint32) - height | ||
4 bytes (uint32) - number of frames | 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 * | num_of_frames * | ||
{ | { | ||
| Line 24: | Line 34: | ||
} | } | ||
x bytes - frame types | |||
x bytes - huffman trees | |||
x bytes - frame data | |||
</pre> | </pre> | ||
</div> | </div> | ||
| Line 35: | Line 43: | ||
=== 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> | <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 === | === Notes and Comments === | ||
| Line 43: | Line 55: | ||
=== Games === | === Games === | ||
List of games using this file format: | List of games using this file format: | ||
* Blood (*.SMK) (PC) | |||
* Hugo: Jungle Island (*.SMK) (PC) | |||
* [[Jurassic Park: Trespasser]] (*.SMK) | * [[Jurassic Park: Trespasser]] (*.SMK) | ||
* Total Annihilation (*.ZRB) | * Total Annihilation (*.ZRB) | ||
* William Shatner's TekWar (*.SMK) | * 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}} | * {{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] | |||
=== See Also === | === See Also === | ||
* [https://wiki.multimedia.cx/index.php/Smacker Smacker File Format (multimedia.cx)] | * [https://wiki.multimedia.cx/index.php/Smacker Smacker File Format (multimedia.cx)] | ||
* [[wikipedia:Smacker video|Smacker video (Wikipedia)]] | |||
<br/><br> | <br/><br> | ||
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