summaryrefslogtreecommitdiffstats
path: root/kernel/kls_fli/fmt_codec_fli_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kls_fli/fmt_codec_fli_defs.h')
-rw-r--r--kernel/kls_fli/fmt_codec_fli_defs.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/kernel/kls_fli/fmt_codec_fli_defs.h b/kernel/kls_fli/fmt_codec_fli_defs.h
new file mode 100644
index 0000000..dd08b94
--- /dev/null
+++ b/kernel/kls_fli/fmt_codec_fli_defs.h
@@ -0,0 +1,92 @@
+/* This file is part of ksquirrel-libs (http://ksquirrel.sf.net)
+
+ Copyright (c) 2005 Dmitry Baryshev <[email protected]>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation;
+ either version 2 of the License, or (at your option) any later
+ version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ as32 with this library; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef KSQUIRREL_READ_IMAGE_fli
+#define KSQUIRREL_READ_IMAGE_fli
+
+struct FLICHEADER
+{
+ u32 FileSize; /* Total size of file */
+ u16 FileId; /* File format indicator */
+ u16 NumberOfFrames; /* Total number of frames */
+ u16 Width; /* Screen width in pixels */
+ u16 Height; /* Screen height in pixels */
+ u16 PixelDepth; /* Number of bits per pixel */
+ u16 Flags; /* Set to 03h */
+ u32 FrameDelay; /* Time delay between frames */
+ u16 Reserved1; /* Not used (Set to 00h) */
+
+// The following fields are set to 00h in a .FLI file
+ u32 DateCreated; /* Time/Date the file was created */
+ u32 CreatorSN; /* Serial number of creator program */
+ u32 LastUpdated; /* Time/Date the file last changed */
+ u32 UpdaterSN; /* Serial number of updater program */
+ u16 XAspect; /* X-axis of display aspect ratio */
+ u16 YAspect; /* Y-axis of display aspect ratio */
+ u8 Reserved2[38]; /* Not used (Set to 00h) */
+ u32 Frame1Offset; /* Offset of first frame */
+ u32 Frame2Offset; /* Offset of second frame */
+ u8 Reserved3[40]; /* Not used (Set to 00h) */
+
+}PACKED;
+
+struct CHUNKHEADER
+{
+ u32 size; /* Total size of chunk */
+ u16 type; /* Chunk identifier */
+// u16 subchunks; /* Number of subchunks in this chunk */
+// u8 res[8]; /* Not used (Set to 00h) */
+
+}PACKED;
+
+#define CHUNK_CEL_DATA 3
+#define CHUNK_COLOR_256 4
+#define CHUNK_DELTA_FLC 7
+#define CHUNK_COLOR_64 11
+#define CHUNK_DELTA_FLI 12
+#define CHUNK_BLACK 13
+#define CHUNK_RLE 15
+#define CHUNK_COPY 16
+#define CHUNK_PSTAMP 18
+#define CHUNK_DTA_BRUN 25
+#define CHUNK_DTA_COPY 26
+#define CHUNK_DTA_LC 27
+#define CHUNK_LABEL 31
+#define CHUNK_BMP_MASK 32
+#define CHUNK_MLEV_MASK 33
+#define CHUNK_SEGMENT 34
+#define CHUNK_KEY_IMAGE 35
+#define CHUNK_KEY_PAL 36
+#define CHUNK_REGION 37
+#define CHUNK_WAVE 38
+#define CHUNK_USERSTR 39
+#define CHUNK_RGN_MASK 40
+#define CHUNK_LABELEX 41
+#define CHUNK_SHIFT 42
+#define CHUNK_PATHMAP 43
+
+#define CHUNK_PREFIX_TYPE 0xF100
+#define CHUNK_SCRIPT_CHUNK 0xF1E0
+#define CHUNK_FRAME_TYPE 0xF1FA
+#define CHUNK_SEGMENT_TABLE 0xF1FB
+#define CHUNK_HUFFMAN_TABLE 0xF1FC
+
+#endif