|
4 | 4 | # Reference: https://shirakumo.org/docs/sf3 |
5 | 5 |
|
6 | 6 | 0 name SF3-archive |
7 | | ->0 lequad x \b, %d files |
| 7 | +>0 ulequad x \b, %llu files |
8 | 8 | !:mime application/x.sf3-archive |
9 | | -!:ext ar.sf3/sf3 |
10 | 9 |
|
11 | 10 | 0 name SF3-audio |
12 | | ->0 lelong >1 \b, %dHz |
13 | | ->4 byte >0 \b, %d channels |
| 11 | +>0 ulelong >1 \b, %dHz |
| 12 | +>4 ubyte >0 \b, %d channels |
14 | 13 | >5 byte 0x01 \b, A-law |
15 | 14 | >5 byte 0x02 \b, 16-bit signed PCM |
16 | 15 | >5 byte 0x04 \b, 32-bit signed PCM |
|
23 | 22 | >5 byte 0x24 \b, single-float PCM |
24 | 23 | >5 byte 0x28 \b, double-float PCM |
25 | 24 | !:mime audio/x.sf3 |
26 | | -!:ext au.sf3/sf3 |
27 | 25 |
|
28 | 26 | 0 name SF3-image |
29 | | ->0 lelong >0 \b, %d |
30 | | ->4 lelong >0 \bx%d |
31 | | ->8 lelong >0 \bx%d |
| 27 | +>0 ulelong >0 \b, %d |
| 28 | +>4 ulelong >0 \bx%d |
| 29 | +>8 ulelong >0 \bx%d |
32 | 30 | >12 byte 0x01 \b, grayscale |
33 | 31 | >12 byte 0x02 \b, grayscale-alpha |
34 | 32 | >12 byte 0x03 \b, RGB |
|
52 | 50 | >13 byte 0x24 \b, single-float |
53 | 51 | >13 byte 0x28 \b, double-float |
54 | 52 | !:mime image/x.sf3 |
55 | | -!:ext img.sf3/sf3 |
56 | 53 |
|
57 | 54 | 0 name SF3-log |
58 | 55 | >0 leqdate x \b, from %s |
59 | 56 | >8 leqdate x \b, to %s |
60 | | ->16 leshort x \b, %d chunks |
| 57 | +>16 uleshort x \b, %d chunks |
61 | 58 | !:mime application/x.sf3-log |
62 | | -!:ext log.sf3/sf3 |
63 | 59 |
|
64 | 60 | 0 name SF3-model |
| 61 | +>(2.l+22) ulelong x \b, %d face indices |
| 62 | +# How the heck. |
| 63 | +#>>&(&-8.l*4) ulelong x \b, %d vertices |
65 | 64 | !:mime model/x.sf3 |
66 | | -!:ext mod.sf3/sf3 |
67 | 65 |
|
68 | 66 | 0 name SF3-physics-model |
69 | 67 | >0 lefloat x \b, %f kg |
70 | | ->40 leshort x \b, %d shapes |
| 68 | +>40 uleshort x \b, %d shapes |
71 | 69 | !:mime model/x.sf3-physics |
72 | | -!:ext phys.sf3/sf3 |
73 | 70 |
|
74 | 71 | 0 name SF3-table |
75 | | ->0 leshort x \b, %d columns |
76 | | ->10 lequad x \b, %d rows |
| 72 | +>0 uleshort x \b, %d columns |
| 73 | +>10 ulequad x \b, %llu rows |
77 | 74 | !:mime application/x.sf3-table |
78 | | -!:ext tab.sf3/sf3 |
79 | 75 |
|
80 | 76 | 0 name SF3-text |
81 | | ->8 lelong x \b, %d markup options |
| 77 | +>8 ulelong x \b, %d markup options |
82 | 78 | !:mime application/x.sf3-text |
83 | | -!:ext txt.sf3/sf3 |
84 | 79 |
|
85 | 80 | 0 name SF3-vector-graphic |
86 | | ->0 lelong >0 \b, %d |
87 | | ->4 lelong >0 \bx%d |
88 | | ->8 lelong x \b, %d instructions |
| 81 | +>0 ulelong >0 \b, %d |
| 82 | +>4 ulelong >0 \bx%d |
| 83 | +>8 ulelong x \b, %d instructions |
89 | 84 | !:mime image/x.sf3-vector |
90 | | -!:ext vec.sf3/sf3 |
91 | 85 |
|
92 | 86 | # Generic SF3 Header |
93 | | -0 string \x81SF3\x00\xE0\xD0\x0D\x0A\x0A SF3 raw data |
94 | | -11 lelong x |
95 | | -15 byte 0x00 |
96 | | ->10 byte 0x01 |
| 87 | +0 string \x81SF3\x00\xE0\xD0\x0D\x0A\x0A SF3 |
| 88 | +>10 byte 0x01 archive |
97 | 89 | >>16 use SF3-archive |
98 | | ->10 byte 0x02 |
| 90 | +>10 byte 0x02 audio file |
99 | 91 | >>16 use SF3-audio |
100 | | ->10 byte 0x03 |
| 92 | +>10 byte 0x03 image file |
101 | 93 | >>16 use SF3-image |
102 | | ->10 byte 0x04 |
| 94 | +>10 byte 0x04 log file |
103 | 95 | >>16 use SF3-log |
104 | | ->10 byte 0x05 |
| 96 | +>10 byte 0x05 3D model |
105 | 97 | >>16 use SF3-model |
106 | | ->10 byte 0x06 |
| 98 | +>10 byte 0x06 physics model |
107 | 99 | >>16 use SF3-physics-model |
108 | | ->10 byte 0x07 |
| 100 | +>10 byte 0x07 table |
109 | 101 | >>16 use SF3-table |
110 | | ->10 byte 0x08 |
| 102 | +>10 byte 0x08 text file |
111 | 103 | >>16 use SF3-text |
112 | | ->10 byte 0x09 |
| 104 | +>10 byte 0x09 vector graphic |
113 | 105 | >>16 use SF3-vector-graphic |
114 | | ->10 byte >9 Unknown type (%d) |
| 106 | +>10 byte >9 file of unknown type (%d) |
115 | 107 | !:mime application/x.sf3 |
116 | 108 | !:ext sf3 |
0 commit comments