| 145 | } /* FlcCheckHeader */ |
| 146 | |
| 147 | int FlcCheckFrame() |
| 148 | { |
| 149 | flc.pFrame=flc.pMembuf+flc.FrameSize-16; |
| 150 | ReadU32(&flc.FrameSize, flc.pFrame+0); |
| 151 | ReadU16(&flc.FrameCheck, flc.pFrame+4); |
| 152 | ReadU16(&flc.FrameChunks, flc.pFrame+6); |
| 153 | ReadU16(&flc.DelayOverride, flc.pFrame+8); // not actually used in UFOINT.FLI, it turns out |
| 154 | |
| 155 | #ifdef DEBUG |
| 156 | printf("flc.FrameSize: %d\n", flc.FrameSize); |
| 157 | printf("flc.FrameCheck: %d\n", flc.FrameCheck); |
| 158 | printf("flc.FrameChunks: %d\n", flc.FrameChunks); |
| 159 | printf("flc.DelayOverride: %d\n", flc.DelayOverride); |
| 160 | #endif |
| 161 | |
| 162 | flc.pFrame+=16; |
| 163 | if(flc.FrameCheck==0x0f1fa) { |
| 164 | return(0); |
| 165 | } |
| 166 | |
| 167 | flc.DelayOverride = 0; // not FRAME_TYPE means the value we read wasn't a delay at all |
| 168 | |
| 169 | if(flc.FrameCheck==0x0f100) { |
| 170 | #ifdef DEBUG |
| 171 | printf("Ani info!!!\n"); |
| 172 | #endif |
| 173 | return(0); |
| 174 | } |
| 175 | |
| 176 | return(1); |
| 177 | //#else |
| 178 | // return(0); |
| 179 | //#endif |
| 180 | } /* FlcCheckFrame */ |
| 181 | |
| 182 | void COLORS256() |
| 183 | { Uint8 *pSrc; |