home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 564a.lha / wasp_v1.21 / Src.LZH / Src / wasp.h < prev    next >
C/C++ Source or Header  |  1991-07-17  |  4KB  |  152 lines

  1. /* wasp - copyright Steven Reiz 1990, 1991
  2.  * see wasp.c for further info
  3.  * wasp.h, 4/12/90 - 30/1/91, 4/5/91 - 1/6/91,
  4.  * 23/6/91, 30/6/91, 3/7/91, 7/7/91
  5.  */
  6.  
  7. #include <stddef.h>
  8. #include <stdarg.h>
  9. #include <stdlib.h>
  10. #include <stdio.h>
  11. #include <string.h>
  12. #include <fcntl.h>
  13.  
  14. typedef unsigned long u_long;
  15. typedef unsigned int u_int;
  16. typedef unsigned char u_char;
  17. typedef unsigned short u_short;
  18.  
  19. #ifdef PROFILING
  20. #define PRIVATE
  21. #else
  22. #define PRIVATE static
  23. #endif
  24.  
  25. #undef EXTERN
  26. #ifdef MAIN
  27. #define EXTERN
  28. #else
  29. #define EXTERN extern
  30. #endif
  31.  
  32. #include "proto.h"
  33. #include "errors.h"
  34.  
  35. static char *sourcefile=__FILE__;
  36. #define error0(a, b, c, d)        errorx((a<<24)|(b<<16)|(c<<8)|d)
  37. #define error1(a, b, c, d, e)        errorx((a<<24)|(b<<16)|(c<<8)|d, e)
  38. #define error2(a, b, c, d, e, f)    errorx((a<<24)|(b<<16)|(c<<8)|d, e, f)
  39. #define assert(c) if (!(c)) errorx((E0_INTERNAL<<24)|__LINE__, sourcefile)
  40.  
  41. extern char *version;
  42.  
  43. #undef min
  44. #define min(a, b) ((a)>(b) ? (b) : (a))
  45. #undef max
  46. #define max(a, b) ((a)>(b) ? (a) : (b))
  47. #define Malloc(n) cmalloc((unsigned int)(n))
  48. #define Calloc(n) ccalloc((unsigned int)(n))
  49. #define Realloc(p, n) crealloc(p, (unsigned int)(n))
  50. #define id(a, b, c, d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))
  51.  
  52. #undef NULL
  53. #define NULL ((void *)0)
  54.  
  55. #define NRGB 4096
  56.  
  57. EXTERN short outputformat;
  58. #define IFF  0 
  59. #define SRGR 1
  60.  
  61. EXTERN short directrgb;
  62.  
  63. EXTERN short compression;
  64. #define COMPR_NONE    0
  65. #define COMPR_RLE    1
  66.  
  67. EXTERN short scrw, scrh; /* also defined in scrsz.c */
  68. #define DEF_SCRW 352
  69. #define DEF_SCRH 283
  70.  
  71. EXTERN int hires, ymode, xmode;
  72. #define HIRES_OK    0
  73. #define HIRES_MAYBE 1
  74. #define HIRES_NOT   2
  75. #define UNSET       0
  76. #define LACE        1
  77. #define NOLACE      2
  78. #define HIRES       1
  79. #define LORES       2
  80. #define EHB         3
  81. #define HAM         4
  82.  
  83. EXTERN int countmeth;
  84. /* should be in same order as cmeths names in wriff.c */
  85. #define COUNTMETH_UNSET        0
  86. #define COUNTMETH_ALL_1         1
  87. #define COUNTMETH_ALL_DIF       2
  88. #define COUNTMETH_ALL_FIXDIF    3
  89. #define COUNTMETH_JUMP_1        4 
  90. #define COUNTMETH_JUMP_21       5 
  91. #define COUNTMETH_JUMP_DIF      6
  92. #define COUNTMETH_JUMP_DIFSH    7
  93. #define COUNTMETH_JUMP_FIXDIF   8
  94. #define COUNTMETH_JUMP_FIXDIFSH 9
  95. #define COUNTMETH_HAMMAP_GS    10
  96. #define COUNTMETH_HAMMAP_CUBIC    11
  97. #define COUNTMETH_HAMMAP    12
  98. #define DEF_COUNTMETH           COUNTMETH_ALL_1
  99. #define DEF_HAM_COUNTMETH    COUNTMETH_JUMP_FIXDIF
  100.  
  101. EXTERN int distrmeth, distrmeth2, curdistrmeth;
  102. /* should be in same order as dmeths names in wriff.c */
  103. #define DISTRMETH_UNSET       0
  104. #define DISTRMETH_MOSTUSED    1
  105. #define DISTRMETH_WORSTFIRST  2
  106. #define DISTRMETH_EHB         3
  107. #define DISTRMETH_MUE         4
  108. #define DISTRMETH_HAMSHARP    5
  109. #define DISTRMETH_CONTRACTION 6
  110. #define DEF_DISTRMETH         DISTRMETH_WORSTFIRST
  111. #define DEF_EHB_DISTRMETH     DISTRMETH_MUE
  112.  
  113. EXTERN u_long threshold;
  114.  
  115. EXTERN int sliced;
  116. #define SLICED_NOT    0
  117. #define SLICED_SHAM    1
  118. #define SLICED_DYN    2
  119.  
  120. #define VM_LACE  0x0004L
  121. #define VM_EHB   0x0080L
  122. #define VM_HAM   0x0800L
  123. #define VM_HIRES 0x8000L
  124.  
  125. EXTERN u_long xsz, ysz;                /* size of the rgb array */
  126. EXTERN u_short **rgb;                  /* raw rgb picture data, rgb[0..ysz-1][0..xsz-1] */
  127. EXTERN int xa, xb, yc, yd;             /* scaling factors */
  128. EXTERN int asc;
  129. EXTERN char *infilename, *outfilename;
  130. EXTERN int infd, outfd;
  131. EXTERN int inoperation;
  132. EXTERN int gifmaptrunc;
  133.  
  134. extern void *malloc(), *calloc(), *realloc();
  135. extern char *strchr();
  136. extern long lseek(), atol();
  137. extern FILE *fopen();
  138.  
  139. void *cmalloc(), *ccalloc(), *crealloc();
  140. u_long ceillog2();
  141. #ifdef DEBUG
  142. long centisecs();
  143. #endif
  144.  
  145. #ifdef AZTEC_C
  146. #define REG register
  147. #define NON_REG static
  148. #else
  149. #define REG register
  150. #define NON_REG 
  151. #endif
  152.