minor update. use vfork instead of fork. return the AROS PAGE_SIZE instead of getpage...
[AROS-Contrib.git] / dopus / Config / dopusiff.h
blob1d50d6f0ee218c67530df144fe5726cd6183fdda
1 /*
3 Directory Opus 4
4 Original GPL release version 4.12
5 Copyright 1993-2000 Jonathan Potter
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 All users of Directory Opus 4 (including versions distributed
22 under the GPL) are entitled to upgrade to the latest version of
23 Directory Opus version 5 at a reduced price. Please see
24 http://www.gpsoft.com.au for more information.
26 The release of Directory Opus 4 under the GPL in NO WAY affects
27 the existing commercial status of Directory Opus 5.
31 /* IFF definitions for DOpus */
33 #ifndef DOPUS_IFF
34 #define DOPUS_IFF
36 /* Form types and other defines */
38 #define ID_8SVX MAKE_ID('8','S','V','X')
39 #define ID_ANHD MAKE_ID('A','N','H','D')
40 #define ID_ANIM MAKE_ID('A','N','I','M')
41 #define ID_BMHD MAKE_ID('B','M','H','D')
42 #define ID_BODY MAKE_ID('B','O','D','Y')
43 #define ID_CAMG MAKE_ID('C','A','M','G')
44 #define ID_CHAN MAKE_ID('C','H','A','N')
45 #define ID_CMAP MAKE_ID('C','M','A','P')
46 #define ID_CRNG MAKE_ID('C','R','N','G')
47 #define ID_CTBL MAKE_ID('C','T','B','L')
48 #define ID_DLTA MAKE_ID('D','L','T','A')
49 #define ID_DPAN MAKE_ID('D','P','A','N')
50 #define ID_DYCP MAKE_ID('D','Y','C','P')
51 #define ID_GRAB MAKE_ID('G','R','A','B')
52 #define ID_ILBM MAKE_ID('I','L','B','M')
53 #define ID_SHAM MAKE_ID('S','H','A','M')
54 #define ID_VHDR MAKE_ID('V','H','D','R')
56 #define CRNG_NORATE 36
57 #define CRNG_ACTIVE 1<<0
58 #define CRNG_REVERSE 1<<1
59 #define CY_CYCL 0
60 #define CY_WAIT 1
62 /* IFF Chunk structures */
64 typedef struct {
65 ULONG ckID;
66 ULONG ckSize;
67 } ChunkHeader;
69 typedef struct {
70 ULONG ckID;
71 ULONG ckSize;
72 UBYTE ckData[1];
73 } Chunk;
75 /* IFF Animation structures */
77 typedef struct {
78 UWORD version;
79 UWORD nframes;
80 unsigned char framespersecond;
81 char pad;
82 UWORD flags;
83 } DPAnimChunk;
85 typedef struct {
86 UBYTE operation;
87 UBYTE mask;
88 UWORD w,h;
89 WORD x,y;
90 ULONG abstime;
91 ULONG reltime;
92 UBYTE interleave;
93 UBYTE pad0;
94 ULONG bits;
95 UBYTE pad[16];
96 } AnimHdr;
98 /* IFF ILBM structures */
100 typedef struct BitHeader
102 UWORD w,h;
103 UWORD x,y;
104 UBYTE nPlanes;
105 UBYTE masking;
106 UBYTE compression;
107 UBYTE flags;
108 UWORD transparentColor;
109 UBYTE xAspect, yAspect;
110 WORD pageWidth, pageHeight;
111 } BitMapHeader;
113 #define BMHF_CMAPOK 1<<7
115 typedef struct C_Range
117 WORD pad1;
118 WORD rate;
119 WORD active;
120 UBYTE low,high;
121 } CRange;
123 struct SHAMData {
124 UWORD ColorTable[200][16];
127 #endif