32 #define SMACKER_PAL 0x01
33 #define SMACKER_FLAG_RING_FRAME 0x01
82 0x00, 0x04, 0x08, 0x0C, 0x10, 0x14, 0x18, 0x1C,
83 0x20, 0x24, 0x28, 0x2C, 0x30, 0x34, 0x38, 0x3C,
84 0x41, 0x45, 0x49, 0x4D, 0x51, 0x55, 0x59, 0x5D,
85 0x61, 0x65, 0x69, 0x6D, 0x71, 0x75, 0x79, 0x7D,
86 0x82, 0x86, 0x8A, 0x8E, 0x92, 0x96, 0x9A, 0x9E,
87 0xA2, 0xA6, 0xAA, 0xAE, 0xB2, 0xB6, 0xBA, 0xBE,
88 0xC3, 0xC7, 0xCB, 0xCF, 0xD3, 0xD7, 0xDB, 0xDF,
89 0xE3, 0xE7, 0xEB, 0xEF, 0xF3, 0xF7, 0xFB, 0xFF
95 if(p->
buf[0] ==
'S' && p->
buf[1] ==
'M' && p->
buf[2] ==
'K'
96 && (p->
buf[3] ==
'2' || p->
buf[3] ==
'4'))
121 for(i = 0; i < 7; i++)
135 for(i = 0; i < 7; i++) {
141 if(smk->
frames > 0xFFFFFF) {
151 for(i = 0; i < smk->
frames; i++) {
154 for(i = 0; i < smk->
frames; i++) {
179 for(i = 0; i < 7; i++) {
263 memcpy(oldpal, pal, 768);
266 if(size + 1 > frame_size)
275 sz += (t & 0x7F) + 1;
276 pal += ((t & 0x7F) + 1) * 3;
280 if (off + j > 0x100) {
282 "Invalid palette update, offset=%d length=%d extends beyond palette size\n",
287 while(j-- && sz < 256) {
288 *pal++ = oldpal[off + 0];
289 *pal++ = oldpal[off + 1];
290 *pal++ = oldpal[off + 2];
307 for(i = 0; i < 7; i++) {
313 if (!size || size + 4
L > frame_size) {
338 pkt->
data[0] = palchange;
339 memcpy(pkt->
data + 1, smk->
pal, 768);
341 if(ret != frame_size)
345 pkt->
size = ret + 769;
367 for(i = 0; i < 7; i++)