home *** CD-ROM | disk | FTP | other *** search
/ Fractal Creations (Second Edition) / FRACTALS_2E.iso / frasrc.exe / PROTOTYP.H < prev    next >
C/C++ Source or Header  |  1993-08-21  |  34KB  |  980 lines

  1. /* includes needed to define the prototypes */
  2.  
  3. #include <stdio.h>
  4. #include "mpmath.h"
  5. #include "port.h"
  6. #include "fractint.h"
  7. #include "helpcom.h"
  8.  
  9. /*  calcmand -- assembler file prototypes */
  10.  
  11. extern int cdecl calcmandasm();
  12.  
  13. /*  calmanfp -- assembler file prototypes */
  14.  
  15. extern void cdecl calcmandfpasmstart();
  16. extern int  cdecl calcmandfpasm();
  17.  
  18. /*  fpu087 -- assembler file prototypes */
  19.  
  20. extern void cdecl FPUcplxmul(_CMPLX *, _CMPLX *, _CMPLX *);
  21. extern void cdecl FPUcplxdiv(_CMPLX *, _CMPLX *, _CMPLX *);
  22. extern void cdecl FPUsincos(double *, double *, double *);
  23. extern void cdecl FPUsinhcosh(double *, double *, double *);
  24. extern void cdecl FPUcplxlog(_CMPLX *, _CMPLX *);
  25. extern void cdecl SinCos086(long , long *, long *);
  26. extern void cdecl SinhCosh086(long , long *, long *);
  27. extern long far cdecl r16Mul(long , long );
  28. extern long far cdecl RegFloat2Fg(long , int );
  29. extern long cdecl Exp086(long);
  30. extern unsigned long far cdecl ExpFudged(long , int );
  31. extern long far cdecl RegDivFloat(long , long );
  32. extern long far cdecl LogFudged(unsigned long , int );
  33. extern long far cdecl LogFloat14(unsigned long );
  34. #ifndef XFRACT
  35. extern long far cdecl RegFg2Float(long, char);
  36. extern long far cdecl RegSftFloat(long, char);
  37. #else
  38. extern long far cdecl RegFg2Float(long , int );
  39. extern long far cdecl RegSftFloat(long , int );
  40. #endif
  41.  
  42. /*  fpu387 -- assembler file prototypes */
  43.  
  44. extern void cdecl FPUaptan387(double *, double *, double *);
  45. extern void cdecl FPUcplxexp387(_CMPLX *, _CMPLX *);
  46.  
  47. /*  fracsuba -- assembler file prototypes */
  48.  
  49. extern int cdecl  longbailout( void );
  50. extern int FManOWarfpFractal( void );
  51. extern int FJuliafpFractal( void );
  52. extern int FBarnsley1FPFractal( void );
  53. extern int FBarnsley2FPFractal( void );
  54. extern int FLambdaFPFractal( void );
  55.  
  56. /*  general -- assembler file prototypes */
  57.  
  58. extern  long   cdecl multiply(long, long, int);
  59. extern  long   cdecl divide(long, long, int);
  60. extern  int    cdecl getakey(void);
  61. extern  void   cdecl buzzer(int);
  62. extern  void   cdecl farmemfree(VOIDFARPTR );
  63. extern  int    cdecl far_strlen( char far *);
  64. extern  int    cdecl far_strnicmp(char far *, char far *,int);
  65. extern  void   cdecl far_strcpy( char far *, char far *);
  66. extern  int    cdecl far_strcmp( char far *, char far *);
  67. extern  void   cdecl far_stricmp(char far *, char far *);
  68. extern  void   cdecl far_strcat( char far *, char far *);
  69. extern  void   cdecl far_memset( VOIDFARPTR , int      , int);
  70. extern  void   cdecl far_memcpy( VOIDFARPTR , VOIDFARPTR , int);
  71. extern  int    cdecl far_memcmp( VOIDFARPTR , VOIDFARPTR , int);
  72. extern  void   cdecl far_memicmp(VOIDFARPTR , VOIDFARPTR , int);
  73. extern  void   cdecl emmdeallocate(unsigned int);
  74. extern  void   cdecl emmgetpage(unsigned int, unsigned int);
  75. extern  void   cdecl emmclearpage(unsigned int, unsigned int);
  76. extern  int    cdecl keypressed(void);
  77. extern  long   cdecl readticker( void );
  78. extern  void   cdecl emmdeallocate(unsigned int);
  79. extern  void   cdecl xmmdeallocate(unsigned int);
  80. extern  void   cdecl snd( int );
  81. extern  void   cdecl nosnd( void );
  82. extern  void   cdecl initasmvars( void );
  83.  
  84. #ifndef __BORLANDC__
  85. extern  void   cdecl enable( void );
  86. extern  void   cdecl disable( void );
  87. extern  void   cdecl delay( int );
  88. #endif
  89.  
  90. extern  int    cdecl farread(int, VOIDFARPTR, unsigned);
  91. extern  int    cdecl farwrite(int, VOIDFARPTR, unsigned);
  92. extern  long   cdecl normalize(char far *);
  93. extern  unsigned int cdecl xmmmoveextended(struct XMM_Move *);
  94. extern  void   cdecl erasesegment(int, int);
  95. extern  int    cdecl IITCoPro( void );
  96. extern  int    cdecl F4x4Check( void );
  97. extern  int    cdecl F4x4Lock( void );
  98. extern  void   cdecl F4x4Free( void );
  99. extern  int    cdecl getakeynohelp( void );
  100. extern  unsigned int cdecl cmpextra( unsigned int, char *, int );
  101. extern  unsigned int cdecl fromextra( unsigned int, char *, int );
  102. extern  unsigned int cdecl toextra( unsigned int, char *, int );
  103. extern  void   cdecl load_mat(double (*)[4]);
  104. extern  VOIDFARPTR cdecl farmemalloc(long);
  105. extern  unsigned int *cdecl xmmquery(void);
  106. extern  BYTE far *cdecl emmquery(void);
  107. extern  unsigned int cdecl emmgetfree(void);
  108. extern  unsigned int cdecl emmallocate(unsigned int);
  109. extern  unsigned int cdecl emmallocate(unsigned int);
  110. extern  unsigned int cdecl xmmallocate(unsigned int);
  111. extern  void   mult_vec_iit(VECTOR);
  112.  
  113. /*  lsysa -- assembler file prototypes */
  114.  
  115. extern void lsys_doplus(long);
  116. extern void lsys_doplus_pow2(long);
  117. extern void lsys_dominus(long);
  118. extern void lsys_dominus_pow2(long);
  119. extern void lsys_dopipe_pow2(long);
  120. extern void lsys_dobang(long);
  121.  
  122. #ifndef XFRACT
  123. extern void lsys_doslash_386(long);
  124. extern void lsys_dobslash_386(long);
  125. extern void lsys_doat_386(long);
  126. extern void lsys_dosizegf_386(long);
  127. extern void lsys_dodrawg_386(long);
  128. #endif
  129.  
  130. /*  mpmath_a -- assembler file prototypes */
  131.  
  132. extern struct MP * MPmul086(struct MP , struct MP );
  133. extern struct MP * MPdiv086(struct MP , struct MP );
  134. extern struct MP * MPadd086(struct MP , struct MP );
  135. extern int         MPcmp086(struct MP , struct MP );
  136. extern struct MP * d2MP086(double );
  137. extern double    * MP2d086(struct MP );
  138. extern struct MP * fg2MP086(long , int );
  139. extern struct MP * MPmul386(struct MP , struct MP );
  140. extern struct MP * MPdiv386(struct MP , struct MP );
  141. extern struct MP * MPadd386(struct MP , struct MP );
  142. extern int         MPcmp386(struct MP , struct MP );
  143. extern struct MP * d2MP386(double );
  144. extern double    * MP2d386(struct MP );
  145. extern struct MP * fg2MP386(long , int );
  146. extern double *    MP2d(struct MP );
  147. extern int         MPcmp(struct MP , struct MP );
  148. extern struct MP * MPmul(struct MP , struct MP );
  149. extern struct MP * MPadd(struct MP , struct MP );
  150. extern struct MP * MPdiv(struct MP , struct MP );
  151. extern struct MP * d2MP(double );  /* Convert double to type MP */
  152. extern struct MP * fg2MP(long , int ); /* Convert fudged to type MP */
  153.  
  154. /*  newton -- assembler file prototypes */
  155.  
  156. extern int cdecl    NewtonFractal2( void );
  157. extern void cdecl   invertz2(_CMPLX *);
  158.  
  159. /*  tplus_a -- assembler file prototypes */
  160.  
  161. extern void WriteTPlusBankedPixel(int, int, unsigned long);
  162. extern unsigned long ReadTPlusBankedPixel(int, int);
  163.  
  164. /*  video -- assembler file prototypes */
  165.  
  166. extern void   cdecl adapter_detect(void);
  167. extern void   cdecl clearbox(void);
  168. extern void   cdecl dispbox(void);
  169. extern void   cdecl setvideotext(void);
  170. extern void   cdecl setnullvideo(void);
  171. extern void   cdecl setfortext(void);
  172. extern void   cdecl setforgraphics(void);
  173. extern void   cdecl swapnormwrite(void);
  174. extern void   cdecl setclear(void);
  175. extern int    cdecl SetupShadowVideo(void);
  176. extern int    cdecl ShadowVideo(int);
  177. extern int    cdecl keycursor(int,int);
  178. extern void   cdecl swapnormread(void);
  179. extern void   cdecl setvideomode(int, int, int, int);
  180. extern void   cdecl movewords(int,BYTE far*,BYTE far*);
  181. extern void   cdecl movecursor(int, int);
  182. extern void   cdecl get_line(int, int, int, BYTE *);
  183. extern void   cdecl put_line(int, int, int, BYTE *);
  184. extern void   cdecl setattr(int, int, int, int);
  185. extern void   cdecl putstring(int,int,int,CHAR far *);
  186. extern void   cdecl spindac(int, int);
  187. extern void   cdecl find_special_colors(void);
  188. extern char   cdecl get_a_char(void);
  189. extern void   cdecl put_a_char(int);
  190. extern void   cdecl scrollup(int, int);
  191. extern void   cdecl home(void);
  192. extern BYTE far *cdecl  findfont(int);
  193. extern int _fastcall getcolor(int, int);
  194. extern void _fastcall putcolor(int, int, int);
  195. extern int  out_line(BYTE *, int);
  196. extern void   (*swapsetup)(void);
  197.  
  198. /*  3d -- C file prototypes */
  199.  
  200. extern void identity(MATRIX);
  201. extern void mat_mul(MATRIX,MATRIX,MATRIX);
  202. extern void scale(double ,double ,double ,MATRIX);
  203. extern void xrot(double ,MATRIX);
  204. extern void yrot(double ,MATRIX);
  205. extern void zrot(double ,MATRIX);
  206. extern void trans(double ,double ,double ,MATRIX);
  207. extern int cross_product(VECTOR,VECTOR,VECTOR);
  208. extern int normalize_vector(VECTOR);
  209. extern int vmult(VECTOR,MATRIX,VECTOR);
  210. extern void mult_vec_c(VECTOR);
  211. extern int perspective(VECTOR);
  212. extern int longvmultpersp(LVECTOR,LMATRIX,LVECTOR,LVECTOR,LVECTOR,int);
  213. extern int longpersp(LVECTOR,LVECTOR,int );
  214. extern int longvmult(LVECTOR,LMATRIX,LVECTOR,int );
  215.  
  216. /*  calcfrac -- C file prototypes */
  217.  
  218. extern void calcfrac_overlay(void);
  219. extern int calcfract(void);
  220. extern int calcmand(void);
  221. extern int calcmandfp(void);
  222. extern int StandardFractal(void);
  223. extern int test(void);
  224. extern int plasma(void);
  225. extern int diffusion(void);
  226. extern int Bifurcation(void );
  227. extern int BifurcLambda(void);
  228. extern int BifurcSetTrigPi(void);
  229. extern int LongBifurcSetTrigPi(void);
  230. extern int BifurcAddTrigPi(void);
  231. extern int LongBifurcAddTrigPi(void);
  232. extern int BifurcMay(void);
  233. extern int BifurcMaySetup(void);
  234. extern int LongBifurcMay(void);
  235. extern int BifurcLambdaTrig(void);
  236. extern int LongBifurcLambdaTrig(void);
  237. extern int BifurcVerhulstTrig(void);
  238. extern int LongBifurcVerhulstTrig(void);
  239. extern int BifurcStewartTrig(void);
  240. extern int LongBifurcStewartTrig(void);
  241. extern int popcorn(void);
  242. extern int lyapunov(void);
  243. extern int lya_setup(void);
  244. extern int cellular(void);
  245. extern int CellularSetup(void);
  246. extern int calcfroth(void);
  247. extern int froth_setup(void);
  248. extern int demowalk(void);
  249.  
  250. /*  cmdfiles -- C file prototypes */
  251.  
  252. extern void cmdfiles_overlay(void);
  253. extern int cmdfiles(int ,char **);
  254. extern int load_commands(FILE *);
  255. extern void set_3d_defaults(void);
  256.  
  257. /*  decoder -- C file prototypes */
  258.  
  259. extern short decoder(short );
  260.  
  261. /*  diskvid -- C file prototypes */
  262.  
  263. extern int startdisk(void);
  264. extern int pot_startdisk(void);
  265. extern int targa_startdisk(FILE *,int );
  266. extern void enddisk(void);
  267. #ifndef XFRACT
  268. extern int readdisk(unsigned int, unsigned int );
  269. extern void writedisk(unsigned int, unsigned int, unsigned int );
  270. #else
  271. extern int readdisk(int, int );
  272. extern void writedisk(int, int, int );
  273. #endif
  274. extern void targa_writedisk(unsigned int ,unsigned int ,BYTE ,BYTE ,BYTE );
  275. extern void dvid_status(int ,char *);
  276.  
  277. /*  editpal -- C file prototypes */
  278.  
  279. extern void EditPalette(void );
  280. extern VOIDPTR mem_alloc(unsigned size);
  281. void putrow(int x, int y, int width, char *buff);
  282. void getrow(int x, int y, int width, char *buff);
  283. void mem_init(VOIDPTR block, unsigned size);
  284. void hline(int x, int y, int width, int color);
  285. int Cursor_WaitKey(void);
  286. void Cursor_CheckBlink(void);
  287. #ifdef XFRACT
  288. void Cursor_StartMouseTracking(void);
  289. void Cursor_EndMouseTracking(void);
  290. #endif
  291. void clip_putcolor(int x, int y, int color);
  292. int clip_getcolor(int x, int y);
  293. BOOLEAN Cursor_Construct (void);
  294. void    Cursor_Destroy   (void);
  295. void    Cursor_SetPos    (int x, int y);
  296. void    Cursor_Move        (int xoff, int yoff);
  297. int       Cursor_GetX        (void);
  298. int       Cursor_GetY        (void);
  299. void    Cursor_Hide        (void);
  300. void    Cursor_Show        (void);
  301.  
  302. /*  encoder -- C file prototypes */
  303.  
  304. extern void encoder_overlay(void);
  305. extern int savetodisk(char *);
  306. extern int encoder(void);
  307.  
  308. /*  f16 -- C file prototypes */
  309.  
  310. extern FILE *t16_open(char *,int *,int *,int *,U8 *);
  311. extern int t16_getline(FILE *,int ,U16 *);
  312.  
  313. /*  fracsubr -- C file prototypes */
  314.  
  315. extern void calcfracinit(void);
  316. extern void adjust_corner(void);
  317. #ifndef XFRACT
  318. extern int put_resume(int ,... );
  319. extern int get_resume(int ,... );
  320. #else
  321. extern int put_resume();
  322. extern int get_resume();
  323. #endif
  324. extern int alloc_resume(int ,int );
  325. extern int start_resume(void);
  326. extern void end_resume(void);
  327. extern void sleepms(long );
  328. extern void iplot_orbit(long ,long ,int );
  329. extern void plot_orbit(double ,double ,int );
  330. extern void scrub_orbit(void);
  331. extern int add_worklist(int ,int ,int ,int ,int ,int ,int );
  332. extern void tidy_worklist(void);
  333. extern void get_julia_attractor(double ,double );
  334. extern int ssg_blocksize(void);
  335. extern void _fastcall symPIplot(int ,int ,int );
  336. extern void _fastcall symPIplot2J(int ,int ,int );
  337. extern void _fastcall symPIplot4J(int ,int ,int );
  338. extern void _fastcall symplot2(int ,int ,int );
  339. extern void _fastcall symplot2Y(int ,int ,int );
  340. extern void _fastcall symplot2J(int ,int ,int );
  341. extern void _fastcall symplot4(int ,int ,int );
  342. extern void _fastcall symplot2basin(int ,int ,int );
  343. extern void _fastcall symplot4basin(int ,int ,int );
  344. extern void _fastcall noplot(int ,int ,int );
  345.  
  346. /*  fractals -- C file prototypes */
  347.  
  348. extern void FloatPreCalcMagnet2(void);
  349. extern void cpower(_CMPLX *,int ,_CMPLX *);
  350. extern int lcpower(_LCMPLX *,int ,_LCMPLX *,int );
  351. extern int complex_mult(_CMPLX ,_CMPLX ,_CMPLX *);
  352. extern int complex_div(_CMPLX ,_CMPLX ,_CMPLX *);
  353. extern int lcomplex_mult(_LCMPLX ,_LCMPLX ,_LCMPLX *,int );
  354. extern int MPCNewtonFractal(void);
  355. extern int Barnsley1Fractal(void);
  356. extern int Barnsley1FPFractal(void);
  357. extern int Barnsley2Fractal(void);
  358. extern int Barnsley2FPFractal(void);
  359. extern int JuliaFractal(void);
  360. extern int JuliafpFractal(void);
  361. extern int LambdaFPFractal(void);
  362. extern int LambdaFractal(void);
  363. extern int SierpinskiFractal(void);
  364. extern int SierpinskiFPFractal(void);
  365. extern int LambdaexponentFractal(void);
  366. extern int LongLambdaexponentFractal(void);
  367. extern int FloatTrigPlusExponentFractal(void);
  368. extern int LongTrigPlusExponentFractal(void);
  369. extern int MarksLambdaFractal(void);
  370. extern int MarksLambdafpFractal(void);
  371. extern int UnityFractal(void);
  372. extern int UnityfpFractal(void);
  373. extern int Mandel4Fractal(void);
  374. extern int Mandel4fpFractal(void);
  375. extern int floatZtozPluszpwrFractal(void);
  376. extern int longZpowerFractal(void);
  377. extern int longCmplxZpowerFractal(void);
  378. extern int floatZpowerFractal(void);
  379. extern int floatCmplxZpowerFractal(void);
  380. extern int Barnsley3Fractal(void);
  381. extern int Barnsley3FPFractal(void);
  382. extern int TrigPlusZsquaredFractal(void);
  383. extern int TrigPlusZsquaredfpFractal(void);
  384. extern int Richard8fpFractal(void);
  385. extern int Richard8Fractal(void);
  386. extern int PopcornFractal(void);
  387. extern int LPopcornFractal(void);
  388. extern int MarksCplxMand(void );
  389. extern int SpiderfpFractal(void );
  390. extern int SpiderFractal(void );
  391. extern int TetratefpFractal(void);
  392. extern int ZXTrigPlusZFractal(void);
  393. extern int ScottZXTrigPlusZFractal(void);
  394. extern int SkinnerZXTrigSubZFractal(void);
  395. extern int ZXTrigPlusZfpFractal(void);
  396. extern int ScottZXTrigPlusZfpFractal(void);
  397. extern int SkinnerZXTrigSubZfpFractal(void);
  398. extern int Sqr1overTrigFractal(void);
  399. extern int Sqr1overTrigfpFractal(void);
  400. extern int TrigPlusTrigFractal(void);
  401. extern int TrigPlusTrigfpFractal(void);
  402. extern int ScottTrigPlusTrigFractal(void);
  403. extern int ScottTrigPlusTrigfpFractal(void);
  404. extern int SkinnerTrigSubTrigFractal(void);
  405. extern int SkinnerTrigSubTrigfpFractal(void);
  406. extern int TrigXTrigfpFractal(void);
  407. extern int TrigXTrigFractal(void);
  408. extern int TryFloatFractal(int (*)());
  409. extern int TrigPlusSqrFractal(void);
  410. extern int TrigPlusSqrfpFractal(void);
  411. extern int ScottTrigPlusSqrFractal(void);
  412. extern int ScottTrigPlusSqrfpFractal(void);
  413. extern int SkinnerTrigSubSqrFractal(void);
  414. extern int SkinnerTrigSubSqrfpFractal(void);
  415. extern int TrigZsqrdfpFractal(void);
  416. extern int TrigZsqrdFractal(void);
  417. extern int SqrTrigFractal(void);
  418. extern int SqrTrigfpFractal(void);
  419. extern int Magnet1Fractal(void);
  420. extern int Magnet2Fractal(void);
  421. extern int LambdaTrigFractal(void);
  422. extern int LambdaTrigfpFractal(void);
  423. extern int LambdaTrigFractal1(void);
  424. extern int LambdaTrigfpFractal1(void);
  425. extern int LambdaTrigFractal2(void);
  426. extern int LambdaTrigfpFractal2(void);
  427. extern int ManOWarFractal(void);
  428. extern int ManOWarfpFractal(void);
  429. extern int MarksMandelPwrfpFractal(void);
  430. extern int MarksMandelPwrFractal(void);
  431. extern int TimsErrorfpFractal(void);
  432. extern int TimsErrorFractal(void);
  433. extern int CirclefpFractal(void);
  434. extern int long_julia_per_pixel(void);
  435. extern int long_richard8_per_pixel(void);
  436. extern int long_mandel_per_pixel(void);
  437. extern int julia_per_pixel(void);
  438. extern int marks_mandelpwr_per_pixel(void);
  439. extern int mandel_per_pixel(void);
  440. extern int marksmandel_per_pixel(void);
  441. extern int marksmandelfp_per_pixel();
  442. extern int marks_mandelpwrfp_per_pixel(void);
  443. extern int mandelfp_per_pixel(void);
  444. extern int juliafp_per_pixel(void);
  445. extern int MPCjulia_per_pixel(void);
  446. extern int otherrichard8fp_per_pixel(void);
  447. extern int othermandelfp_per_pixel(void);
  448. extern int otherjuliafp_per_pixel(void);
  449. extern int trigmandelfp_per_pixel(void);
  450. extern int trigjuliafp_per_pixel(void);
  451. extern int trigXtrigmandelfp_per_pixel(void);
  452. extern int trigXtrigjuliafp_per_pixel(void);
  453. extern int MarksCplxMandperp(void );
  454. extern int MandelSetup(void);
  455. extern int MandelfpSetup();
  456. extern int JuliaSetup(void);
  457. extern int NewtonSetup(void);
  458. extern int StandaloneSetup(void);
  459. extern int UnitySetup(void);
  460. extern int JuliafpSetup(void);
  461. extern int MandellongSetup(void);
  462. extern int JulialongSetup(void);
  463. extern int TrigPlusSqrlongSetup(void);
  464. extern int TrigPlusSqrfpSetup(void);
  465. extern int TrigPlusTriglongSetup(void);
  466. extern int TrigPlusTrigfpSetup(void);
  467. extern int FnPlusFnSym(void);
  468. extern int ZXTrigPlusZSetup(void);
  469. extern int LambdaTrigSetup(void);
  470. extern int JuliafnPlusZsqrdSetup(void);
  471. extern int SqrTrigSetup(void);
  472. extern int FnXFnSetup(void);
  473. extern int MandelTrigSetup(void);
  474. extern int MarksJuliaSetup(void);
  475. extern int MarksJuliafpSetup();
  476. extern int SierpinskiSetup(void);
  477. extern int SierpinskiFPSetup(void);
  478. extern int StandardSetup(void);
  479. extern int LambdaTrigOrTrigFractal(void);
  480. extern int LambdaTrigOrTrigfpFractal(void);
  481. extern int LambdaTrigOrTrigSetup(void);
  482. extern int JuliaTrigOrTrigFractal(void);
  483. extern int JuliaTrigOrTrigfpFractal(void);
  484. extern int JuliaTrigOrTrigSetup(void);
  485. extern int ManlamTrigOrTrigSetup(void);
  486. extern int MandelTrigOrTrigSetup(void);
  487. extern int HalleySetup(void);
  488. extern int HalleyFractal(void);
  489. extern int Halley_per_pixel(void);
  490. extern int MPCHalleyFractal(void);
  491. extern int MPCHalley_per_pixel(void);
  492. extern int dynamfloat(double *,double *,double*);
  493. extern int mandelcloudfloat(double *,double *,double*);
  494. extern int dynam2dfloatsetup(void);
  495. extern int dynam2dfloat(void);
  496. extern int QuaternionFPFractal(void);
  497. extern int quaternionfp_per_pixel(void);
  498. extern int quaternionjulfp_per_pixel(void);
  499. extern int LongPhoenixFractal(void);
  500. extern int PhoenixFractal(void);
  501. extern int PhoenixSetup(void);
  502. extern int long_phoenix_per_pixel(void);
  503. extern int phoenix_per_pixel(void);
  504. extern int MandPhoenixSetup(void);
  505. extern int long_mandphoenix_per_pixel(void);
  506. extern int mandphoenix_per_pixel(void);
  507. extern int HyperComplexFPFractal(void);
  508.  
  509. /*  fractint -- C file prototypes */
  510.  
  511. extern void main(int ,char **);
  512. extern int key_count(int );
  513. extern int cmp_line(BYTE *,int );
  514. extern void flip_image(int kbdchar);
  515. extern int pot_line(BYTE *,int );
  516. extern void reset_zoom_corners(void);
  517. extern void clear_zoombox(void);
  518. extern int sound_line(BYTE *,int );
  519.  
  520. /*  gifview -- C file prototypes */
  521.  
  522. extern int get_byte(void);
  523. extern int get_bytes(BYTE *,int );
  524. extern int gifview(void);
  525.  
  526. /*  help -- C file prototypes */
  527.  
  528. extern int _find_token_length(char far *,unsigned int ,int *,int *);
  529. extern int find_token_length(int ,char far *,unsigned int ,int *,int *);
  530. extern int find_line_width(int ,char far *,unsigned int );
  531. extern int process_document(PD_FUNC ,PD_FUNC ,VOIDPTR );
  532. extern void help_overlay(void );
  533. extern int help(int );
  534. extern int read_help_topic(int ,int ,int ,VOIDFARPTR );
  535. extern int makedoc_msg_func(int ,int );
  536. extern void print_document(char *,int (*)(int ,int ),int );
  537. extern int init_help(void );
  538. extern void end_help(void );
  539.  
  540. /*  intro -- C file prototypes */
  541.  
  542. extern void intro_overlay(void );
  543. extern void intro(void );
  544.  
  545. /*  jb -- C file prototypes */
  546.  
  547. extern int JulibrotSetup(void );
  548. extern int JulibrotfpSetup(void );
  549. extern int jb_per_pixel(void );
  550. extern int jbfp_per_pixel(void );
  551. extern int zline(long ,long );
  552. extern int zlinefp(double ,double );
  553. extern int Std4dFractal(void );
  554. extern int Std4dfpFractal(void );
  555.  
  556. /*  line3d -- C file prototypes */
  557.  
  558. extern void line3d_overlay(void);
  559. extern int line3d(BYTE *,unsigned int );
  560. extern int _fastcall targa_color(int ,int ,int );
  561. extern int targa_validate(char *);
  562.  
  563. /*  loadfdos -- C file prototypes */
  564.  
  565. extern int get_video_mode(struct fractal_info *);
  566.  
  567. /*  loadfile -- C file prototypes */
  568.  
  569. extern void loadfile_overlay(void);
  570. extern int read_overlay(void);
  571. extern void set_if_old_bif(void);
  572.  
  573. /*  loadmap -- C file prototypes */
  574.  
  575. extern void SetTgaColors(void);
  576. extern int ValidateLuts(char *);
  577. extern int SetColorPaletteName(char *);
  578.  
  579. /*  lorenz -- C file prototypes */
  580.  
  581. extern int orbit3dlongsetup(void);
  582. extern int orbit3dfloatsetup(void);
  583. extern int lorenz3dlongorbit(long *,long *,long *);
  584. extern int lorenz3d1floatorbit(double *,double *,double *);
  585. extern int lorenz3dfloatorbit(double *,double *,double *);
  586. extern int lorenz3d3floatorbit(double *,double *,double *);
  587. extern int lorenz3d4floatorbit(double *,double *,double *);
  588. extern int henonfloatorbit(double *,double *,double *);
  589. extern int henonlongorbit(long *,long *,long *);
  590. extern int inverse_julia_orbit(double *,double *,double *);
  591. extern int Minverse_julia_orbit(void);
  592. extern int Linverse_julia_orbit(void);
  593. extern int inverse_julia_per_image(void);
  594. extern int rosslerfloatorbit(double *,double *,double *);
  595. extern int pickoverfloatorbit(double *,double *,double *);
  596. extern int gingerbreadfloatorbit(double *,double *,double *);
  597. extern int rosslerlongorbit(long *,long *,long *);
  598. extern int kamtorusfloatorbit(double *,double *,double *);
  599. extern int kamtoruslongorbit(long *,long *,long *);
  600. extern int hopalong2dfloatorbit(double *,double *,double *);
  601. extern int martin2dfloatorbit(double *,double *,double *);
  602. extern int orbit2dfloat(void);
  603. extern int orbit2dlong(void);
  604. extern int orbit3dlongcalc(void);
  605. extern int orbit3dfloatcalc(void);
  606. extern int funny_glasses_call(int (*)());
  607. extern int ifs(void);
  608. extern int ifs2d(void);
  609. extern int orbit3dfloat(void);
  610. extern int orbit3dlong(void);
  611. extern int ifs3d(void);
  612. extern int iconfloatorbit(double *, double *, double *);  /* dmf */
  613.  
  614. /*  lsys -- C file prototypes */
  615.  
  616. extern int Lsystem(void);
  617. extern int LLoad(void);
  618.  
  619. /*  miscovl -- C file prototypes */
  620.  
  621. extern void miscovl_overlay(void);
  622. extern void make_batch_file(void);
  623. extern void shell_to_dos(void);
  624. extern void showfreemem(void);
  625. extern int edit_text_colors(void);
  626. extern int select_video_mode(int );
  627.  
  628. /*  miscres -- C file prototypes */
  629.  
  630. #ifndef XFRACT
  631. extern int timer(int ,int (*)(),... );
  632. extern int matherr(struct exception *);
  633. #else
  634. extern int timer();
  635. #endif
  636. extern void restore_active_ovly(void);
  637. extern void findpath(char *,char *);
  638. extern void notdiskmsg(void);
  639. extern int cvtcentermag(double *,double *,double *);
  640. extern void updatesavename(char *);
  641. extern int check_writefile(char *,char *);
  642. extern int check_key(void);
  643. extern void showtrig(char *);
  644. extern int set_trig_array(int ,char *);
  645. extern void set_trig_pointers(int );
  646. extern int tab_display(void);
  647. extern int endswithslash(char *);
  648. extern int ifsload(void);
  649. extern int find_file_item(char *,char *,FILE **);
  650. extern int file_gets(char *,int ,FILE *);
  651. extern void roundfloatd(double *);
  652.  
  653. /*  mpmath_c -- C file prototypes */
  654.  
  655. extern struct MP *MPsub(struct MP ,struct MP );
  656. extern struct MP *MPsub086(struct MP ,struct MP );
  657. extern struct MP *MPsub386(struct MP ,struct MP );
  658. extern struct MP *MPabs(struct MP );
  659. extern struct MPC MPCsqr(struct MPC );
  660. extern struct MP MPCmod(struct MPC );
  661. extern struct MPC MPCmul(struct MPC ,struct MPC );
  662. extern struct MPC MPCdiv(struct MPC ,struct MPC );
  663. extern struct MPC MPCadd(struct MPC ,struct MPC );
  664. extern struct MPC MPCsub(struct MPC ,struct MPC );
  665. extern struct MPC MPCpow(struct MPC ,int );
  666. extern int MPCcmp(struct MPC ,struct MPC );
  667. extern _CMPLX MPC2cmplx(struct MPC );
  668. extern struct MPC cmplx2MPC(_CMPLX );
  669. extern void setMPfunctions(void );
  670. extern _CMPLX ComplexPower(_CMPLX ,_CMPLX );
  671. extern void SetupLogTable(void );
  672. extern long far ExpFloat14(long );
  673. extern int ComplexNewtonSetup(void );
  674. extern int ComplexNewton(void );
  675. extern int ComplexBasin(void );
  676. extern int GausianNumber(int ,int );
  677.  
  678. /*  msccos -- C file prototypes */
  679.  
  680. extern double _cos(double );
  681.  
  682. /*  parser -- C file prototypes */
  683.  
  684. extern unsigned int SkipWhiteSpace(char *);
  685. extern unsigned long NewRandNum(void );
  686. extern void lRandom(void );
  687. extern void dRandom(void );
  688. extern void mRandom(void );
  689. extern void SetRandFnct(void );
  690. extern void RandomSeed(void );
  691. extern void lStkSRand(void );
  692. extern void mStkSRand(void );
  693. extern void dStkSRand(void );
  694. extern void dStkAbs(void );
  695. extern void mStkAbs(void );
  696. extern void lStkAbs(void );
  697. extern void dStkSqr(void );
  698. extern void mStkSqr(void );
  699. extern void lStkSqr(void );
  700. extern void dStkAdd(void );
  701. extern void mStkAdd(void );
  702. extern void lStkAdd(void );
  703. extern void dStkSub(void );
  704. extern void mStkSub(void );
  705. extern void lStkSub(void );
  706. extern void dStkConj(void );
  707. extern void mStkConj(void );
  708. extern void lStkConj(void );
  709. extern void dStkZero(void );
  710. extern void mStkZero(void );
  711. extern void lStkZero(void );
  712. extern void dStkReal(void );
  713. extern void mStkReal(void );
  714. extern void lStkReal(void );
  715. extern void dStkImag(void );
  716. extern void mStkImag(void );
  717. extern void lStkImag(void );
  718. extern void dStkNeg(void );
  719. extern void mStkNeg(void );
  720. extern void lStkNeg(void );
  721. extern void dStkMul(void );
  722. extern void mStkMul(void );
  723. extern void lStkMul(void );
  724. extern void dStkDiv(void );
  725. extern void mStkDiv(void );
  726. extern void lStkDiv(void );
  727. extern void StkSto(void );
  728. extern void StkLod(void );
  729. extern void dStkMod(void );
  730. extern void mStkMod(void );
  731. extern void lStkMod(void );
  732. extern void StkClr(void );
  733. extern void dStkFlip(void );
  734. extern void mStkFlip(void );
  735. extern void lStkFlip(void );
  736. extern void dStkSin(void );
  737. extern void mStkSin(void );
  738. extern void lStkSin(void );
  739. extern void dStkTan(void );
  740. extern void mStkTan(void );
  741. extern void lStkTan(void );
  742. extern void dStkTanh(void );
  743. extern void mStkTanh(void );
  744. extern void lStkTanh(void );
  745. extern void dStkCoTan(void );
  746. extern void mStkCoTan(void );
  747. extern void lStkCoTan(void );
  748. extern void dStkCoTanh(void );
  749. extern void mStkCoTanh(void );
  750. extern void lStkCoTanh(void );
  751. extern void dStkRecip(void );
  752. extern void mStkRecip(void );
  753. extern void lStkRecip(void );
  754. extern void StkIdent(void );
  755. extern void dStkSinh(void );
  756. extern void mStkSinh(void );
  757. extern void lStkSinh(void );
  758. extern void dStkCos(void );
  759. extern void mStkCos(void );
  760. extern void lStkCos(void );
  761. extern void dStkCosXX(void );
  762. extern void mStkCosXX(void );
  763. extern void lStkCosXX(void );
  764. extern void dStkCosh(void );
  765. extern void mStkCosh(void );
  766. extern void lStkCosh(void );
  767. extern void dStkLT(void );
  768. extern void mStkLT(void );
  769. extern void lStkLT(void );
  770. extern void dStkGT(void );
  771. extern void mStkGT(void );
  772. extern void lStkGT(void );
  773. extern void dStkLTE(void );
  774. extern void mStkLTE(void );
  775. extern void lStkLTE(void );
  776. extern void dStkGTE(void );
  777. extern void mStkGTE(void );
  778. extern void lStkGTE(void );
  779. extern void dStkEQ(void );
  780. extern void mStkEQ(void );
  781. extern void lStkEQ(void );
  782. extern void dStkNE(void );
  783. extern void mStkNE(void );
  784. extern void lStkNE(void );
  785. extern void dStkOR(void );
  786. extern void mStkOR(void );
  787. extern void lStkOR(void );
  788. extern void dStkAND(void );
  789. extern void mStkAND(void );
  790. extern void lStkAND(void );
  791. extern void dStkLog(void );
  792. extern void mStkLog(void );
  793. extern void lStkLog(void );
  794. extern void FPUcplxexp(_CMPLX *,_CMPLX *);
  795. extern void dStkExp(void );
  796. extern void mStkExp(void );
  797. extern void lStkExp(void );
  798. extern void dStkPwr(void );
  799. extern void mStkPwr(void );
  800. extern void lStkPwr(void );
  801. extern void (*mtrig0)(void);
  802. extern void (*mtrig1)(void);
  803. extern void (*mtrig2)(void);
  804. extern void (*mtrig3)(void);
  805. extern void EndInit(void );
  806. extern struct ConstArg far *isconst(char *,int );
  807. extern void NotAFnct(void );
  808. extern void FnctNotFound(void );
  809. extern int whichfn(char *,int );
  810. #ifndef XFRACT
  811. extern void (far *isfunct(char *,int ))(void );
  812. #else
  813. extern void (far *isfunct(char *,int ))();
  814. #endif
  815. extern void RecSortPrec(void );
  816. extern int ParseStr(char *);
  817. extern int Formula(void );
  818. extern int form_per_pixel(void );
  819. extern char *FindFormula(char *);
  820. extern int RunForm(char *);
  821. extern int fpFormulaSetup(void );
  822. extern int intFormulaSetup(void );
  823. extern void init_misc(void);
  824. extern void free_workarea(void);
  825.  
  826. /*  plot3d -- C file prototypes */
  827.  
  828. extern void _fastcall draw_line(int ,int ,int ,int ,int );
  829. extern void _fastcall plot3dsuperimpose16b(int ,int ,int );
  830. extern void _fastcall plot3dsuperimpose16(int ,int ,int );
  831. extern void _fastcall plot3dsuperimpose256(int ,int ,int );
  832. extern void _fastcall plotIFS3dsuperimpose256(int ,int ,int );
  833. extern void _fastcall plot3dalternate(int ,int ,int );
  834. extern void plot_setup(void);
  835.  
  836. /*  printer -- C file prototypes */
  837.  
  838. extern void printer_overlay(void);
  839. extern void Print_Screen(void);
  840.  
  841. /*  prompts -- C file prototypes */
  842.  
  843. extern void prompts_overlay(void);
  844. extern int fullscreen_prompt(char far*,int ,char far **,struct fullscreenvalues *,int ,int ,char far *);
  845. extern int get_fracttype(void);
  846. extern int get_fract_params(int );
  847. extern int get_fract3d_params(void);
  848. extern int get_3d_params(void);
  849. extern int get_toggles(void);
  850. extern int get_toggles2(void);
  851. extern int get_view_params(void);
  852. extern int get_starfield_params(void );
  853. extern int get_commands(void);
  854. extern void goodbye(void);
  855. extern int getafilename(char *,char *,char *);
  856. extern int splitpath(char *template,char *drive,char *dir,char *fname,char *ext);
  857. extern int makepath(char *template,char *drive,char *dir,char *fname,char *ext);
  858. extern char *extract_filename(char * fullfilename);
  859.  
  860. /*  realdos -- C file prototypes */
  861.  
  862. extern int stopmsg(int ,CHAR far *);
  863. extern int texttempmsg(char *);
  864. extern int showtempmsg(char *);
  865. extern void cleartempmsg(void);
  866. extern void blankrows(int ,int ,int );
  867. extern void helptitle(void);
  868. extern int putstringcenter(int ,int ,int ,int ,char far *);
  869. extern void stackscreen(void);
  870. extern void unstackscreen(void);
  871. extern void discardscreen(void);
  872. extern int fullscreen_choice(int ,char far*,char far*,char far*,int ,char **,int *,int ,int ,int ,int ,void (*)(),char *,int (*)(),int (*)());
  873. #ifndef XFRACT /* Unix should have this in string.h */
  874. extern int strncasecmp(char *,char *,int );
  875. #endif
  876. extern int main_menu(int );
  877. extern int input_field(int ,int ,char *,int ,int ,int ,int (*)(int));
  878. extern int field_prompt(int ,char *,char *,char *,int ,int (*)(int));
  879. extern int thinking(int ,char *);
  880. extern void clear_screen(void );
  881. extern int savegraphics(void);
  882. extern void restoregraphics(void);
  883. extern void discardgraphics(void);
  884. extern int load_fractint_cfg(int );
  885. extern void bad_fractint_cfg_msg(void);
  886. extern void load_videotable(int );
  887. extern int check_vidmode_key(int ,int );
  888. extern int check_vidmode_keyname(char *);
  889. extern void vidmode_keyname(int ,char *);
  890.  
  891. /*  rotate -- C file prototypes */
  892.  
  893. extern void rotate_overlay(void);
  894. extern void rotate(int );
  895. extern void save_palette(void);
  896. extern void load_palette(void );
  897.  
  898. /*  slideshw -- C file prototypes */
  899.  
  900. extern int slideshw(void);
  901. extern int startslideshow(void);
  902. extern void stopslideshow(void);
  903. extern void recordshw(int );
  904.  
  905. /*  targa -- C file prototypes */
  906.  
  907. extern void WriteTGA(int ,int ,int );
  908. extern int ReadTGA(int ,int );
  909. extern void EndTGA(void );
  910. extern void StartTGA(void);
  911. extern void ReopenTGA(void);
  912.  
  913. /*  testpt -- C file prototypes */
  914.  
  915. extern int teststart(void);
  916. extern void testend(void);
  917. extern int testpt(double ,double ,double ,double ,int ,int );
  918.  
  919. /*  tgaview -- C file prototypes */
  920.  
  921. extern int tgaview(void);
  922. extern int outlin16(BYTE*,int );
  923.  
  924. /*  tp3d -- C file prototypes */
  925.  
  926. extern char far *TrueColorAutoDetect(void );
  927. extern void TranspPerPixel(int ,union Arg far *,union Arg far *);
  928. extern int Transp3DFnct(void);
  929. extern void ShadowPutColor(unsigned int ,unsigned int ,unsigned int );
  930. extern void AntiAliasPass(void );
  931.  
  932. /*  tplus -- C file prototypes */
  933.  
  934. extern void WriteTPWord(unsigned int ,unsigned int );
  935. extern void WriteTPByte(unsigned int ,unsigned int );
  936. extern unsigned int ReadTPWord(unsigned int );
  937. extern BYTE ReadTPByte(unsigned int );
  938. extern void DisableMemory(void );
  939. extern void EnableMemory(void );
  940. extern int TargapSys(int ,unsigned int );
  941. extern int _SetBoard(int );
  942. extern int TPlusLUT(BYTE far *,unsigned int ,unsigned int ,unsigned int );
  943. extern int SetVGA_LUT(void );
  944. extern int SetColorDepth(int );
  945. extern int SetBoard(int );
  946. extern int ResetBoard(int );
  947. extern int CheckForTPlus(void );
  948. extern int SetTPlusMode(int ,int ,int ,int );
  949. extern int FillTPlusRegion(unsigned int ,unsigned int ,unsigned int ,unsigned int ,unsigned long );
  950. extern void BlankScreen(unsigned long );
  951. extern void UnBlankScreen(void );
  952. extern void EnableOverlayCapture(void );
  953. extern void DisableOverlayCapture(void );
  954. extern void ClearTPlusScreen(void );
  955. extern int MatchTPlusMode(unsigned int ,unsigned int ,unsigned int ,unsigned int ,unsigned int );
  956. extern void TPlusZoom(int );
  957.  
  958. /*  yourvid -- C file prototypes */
  959.  
  960. extern int startvideo(void);
  961. extern int endvideo(void);
  962. extern void writevideo(int ,int ,int );
  963. extern int readvideo(int ,int );
  964. extern int readvideopalette(void);
  965. extern int writevideopalette(void);
  966. #ifdef XFRACT
  967. extern void readvideoline(int ,int, int, BYTE * );
  968. extern void writevideoline(int ,int, int, BYTE * );
  969. #endif
  970.  
  971. /*  zoom -- C file prototypes */
  972.  
  973. extern void drawbox(int );
  974. extern void moveboxf(double ,double );
  975. extern void resizebox(int );
  976. extern void chgboxi(int ,int );
  977. extern void zoomout(void);
  978. extern void aspectratio_crop(float ,float );
  979. extern int init_pan_or_recalc(int );
  980.