#------------------------------------------------------------------------------ # $File: sf3,v 1.1 2025/06/27 15:13:53 christos Exp $ # sfr: SF3 [Simple File Format Family] files # (Yukari Hafner, shinmera@tymoon.eu) # # Reference: https://shirakumo.org/docs/sf3 # Samples: https://shirakumo.org/projects/sf3/tree/master/samples/ 0 name SF3-archive >0 ulequad x \b, %llu files !:mime application/x.sf3-archive 0 name SF3-audio >0 ulelong >1 \b, %dHz >4 ubyte >0 \b, %d channels >5 byte 0x01 \b, A-law >5 byte 0x02 \b, 16-bit signed PCM >5 byte 0x04 \b, 32-bit signed PCM >5 byte 0x08 \b, 64-bit signed PCM >5 byte 0x11 \b, u-law >5 byte 0x12 \b, 16-bit unsigned PCM >5 byte 0x14 \b, 32-bit unsigned PCM >5 byte 0x18 \b, 64-bit unsigned PCM >5 byte 0x22 \b, half-float PCM >5 byte 0x24 \b, single-float PCM >5 byte 0x28 \b, double-float PCM !:mime audio/x.sf3 0 name SF3-image >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong >0 \bx%d >12 byte 0x01 \b, grayscale >12 byte 0x02 \b, grayscale-alpha >12 byte 0x03 \b, RGB >12 byte 0x04 \b, RGBA >12 byte 0x12 \b, grayscale-alpha >12 byte 0x13 \b, BGR >12 byte 0x14 \b, ABGR >12 byte 0x24 \b, ARGB >12 byte 0x34 \b, BGRA >12 byte 0x44 \b, CMYK >12 byte 0x54 \b, KYMC >13 byte 0x01 \b, 8-bit signed >13 byte 0x02 \b, 16-bit signed >13 byte 0x04 \b, 32-bit signed >13 byte 0x08 \b, 64-bit signed >13 byte 0x11 \b, 8-bit unsigned >13 byte 0x12 \b, 16-bit unsigned >13 byte 0x14 \b, 32-bit unsigned >13 byte 0x18 \b, 64-bit unsigned >13 byte 0x22 \b, half-float >13 byte 0x24 \b, single-float >13 byte 0x28 \b, double-float !:mime image/x.sf3 0 name SF3-log >0 leqdate x \b, from %s >8 leqdate x \b, to %s >16 uleshort x \b, %d chunks !:mime application/x.sf3-log 0 name SF3-model >(2.l+22) ulelong x \b, %d face indices >>&(&-20.l*4) ulelong x \b, %d vertex attributes !:mime model/x.sf3 0 name SF3-physics-model >0 lefloat x \b, %f kg >40 uleshort x \b, %d shapes !:mime model/x.sf3-physics 0 name SF3-table >0 uleshort x \b, %d columns >10 ulequad x \b, %llu rows !:mime application/x.sf3-table 0 name SF3-text >8 ulelong x \b, %d markup options >(0.q+28) ulequad x \b, %llu bytes of text !:mime application/x.sf3-text 0 name SF3-vector-graphic >0 ulelong >0 \b, %d >4 ulelong >0 \bx%d >8 ulelong x \b, %d instructions !:mime image/x.sf3-vector # Generic SF3 Header 0 string \x81SF3\x00\xE0\xD0\x0D\x0A\x0A SF3 >10 byte 0x01 archive >>16 use SF3-archive >10 byte 0x02 audio file >>16 use SF3-audio >10 byte 0x03 image file >>16 use SF3-image >10 byte 0x04 log file >>16 use SF3-log >10 byte 0x05 3D model >>16 use SF3-model >10 byte 0x06 physics model >>16 use SF3-physics-model >10 byte 0x07 table >>16 use SF3-table >10 byte 0x08 text file >>16 use SF3-text >10 byte 0x09 vector graphic >>16 use SF3-vector-graphic >10 byte >9 file of unknown type (%d) !:mime application/x.sf3 !:ext sf3