Smacker Video SMK: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
Line 16: Line 16:
4 bytes (uint32) - height
4 bytes (uint32) - height
4 bytes (uint32) - number of frames
4 bytes (uint32) - number of frames
88 bytes - unknown
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


// info table
 
// frame sizes
num_of_frames *
num_of_frames *
{
{
Line 24: Line 34:
}
}


// data
 
num_of_frames *
x bytes - frame types
{
x bytes - huffman trees
  1 byte - unknown
x bytes - frame data
  x bytes - data
}
</pre>
</pre>
</div>
</div>

Revision as of 20:46, 31 October 2021

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>

Notes and Comments

  • None.

Games

List of games using this file format:

Compatible Programs

See Also