Dec 132017
 
Full C source code for Windows version of Fractint.
File WNSRC173.ZIP from The Programmer’s Corner in
Category C Source Code
Full C source code for Windows version of Fractint.
File Name File Size Zip Size Zip Type
3D.C 10493 2942 deflated
CALCFRAC.C 104671 27696 deflated
CALCMAND.ASM 27164 8616 deflated
CALCMAND.OBJ 3140 1829 deflated
CALMANFP.ASM 42664 7759 deflated
CALMANFP.OBJ 4898 2573 deflated
CMDFILES.C 61452 14852 deflated
COORD.DLG 1078 432 deflated
DECODER.C 14038 5016 deflated
DIALOG.C 20022 5439 deflated
DIALOG2.C 59509 7942 deflated
DIALOG2.H 6336 1207 deflated
ENCODER.C 26021 7985 deflated
F16.C 2513 1245 deflated
FPU087.ASM 37309 9169 deflated
FPU087.OBJ 4180 2571 deflated
FPU387.ASM 10067 2632 deflated
FPU387.OBJ 1734 1019 deflated
FRACSUBA.ASM 8110 2367 deflated
FRACSUBA.OBJ 1437 890 deflated
FRACSUBR.C 34579 9770 deflated
FRACTALP.C 42523 6537 deflated
FRACTALS.C 86552 17711 deflated
FRACTINT.H 19135 6092 deflated
FRACTYPE.H 4611 1202 deflated
GIFVIEW.C 6400 2313 deflated
HELP.C 38170 9770 deflated
HELPCOM.H 15720 3828 deflated
HELPDEFS.H 6305 1078 deflated
JB.C 8659 2370 deflated
LINE3D.C 73730 20783 deflated
LOADFILE.C 20352 5796 deflated
LORENZ.C 45754 9018 deflated
LSYS.C 21976 5004 deflated
LSYSA.ASM 3939 1126 deflated
LSYSA.OBJ 1212 689 deflated
MAINFRAC.C 16969 5395 deflated
MAKEWIN.BAT 20 20 stored
MATHTOOL.C 14956 3834 deflated
MATHTOOL.H 578 177 deflated
MATHTOOL.ICO 766 188 deflated
MATHTOOL.RC 521 239 deflated
MATHTOOL.RTF 3113 1160 deflated
MISCOVL.C 34153 10122 deflated
MISCRES.C 24466 7305 deflated
MPMATH.H 5348 1487 deflated
MPMATH_A.ASM 16680 3101 deflated
MPMATH_A.OBJ 2654 1605 deflated
MPMATH_C.C 10884 3130 deflated
NEWTON.ASM 6053 2111 deflated
NEWTON.OBJ 1805 1100 deflated
PARSER.C 53897 10658 deflated
PLOT3D.C 10977 2524 deflated
PORT.H 1989 665 deflated
PROFILE.C 4118 1159 deflated
PROFILE.H 224 119 deflated
PROMPTS.C 95901 23626 deflated
QCWINFRA.MAK 3579 1116 deflated
SELECT.C 7042 1306 deflated
SELECT.H 842 378 deflated
TARGA_LC.H 640 298 deflated
TESTPT.C 2091 908 deflated
TGAVIEW.C 1524 689 deflated
TOOLHELP.DLL 14128 8552 deflated
WGENERAL.ASM 13083 3693 deflated
WGENERAL.OBJ 1831 1188 deflated
WINDOS.C 42147 12015 deflated
WINDOS2.C 33460 8900 deflated
WINFRACT.C 88767 17111 deflated
WINFRACT.DEF 1015 524 deflated
WINFRACT.H 5100 1343 deflated
WINFRACT.HPJ 108 99 deflated
WINFRACT.ICO 766 213 deflated
WINFRACT.LNK 386 238 deflated
WINFRACT.MAK 3224 998 deflated
WINFRACT.PRJ 15724 4064 deflated
WINFRACT.RC 50794 6920 deflated
WINFRACT.RTF 71970 18564 deflated
WINSRC.DOC 3465 1461 deflated
WINTEXT.C 24082 6339 deflated
ZOOM.DLG 607 285 deflated

Download File WNSRC173.ZIP Here

Contents of the WINSRC.DOC file


Note:
Because of the mad rush with which we distributed this "public-beta"
version of Winfract, only the Microsoft C MAKEfiles are up-to-date.
If you're using Quick-C or a Borland compiler, you'll have to update
their MAK/PRJ files, I'm afraid. Also, the list of files at the end
of this file are horribly out of date. Sorry about that.

Let's start with the caveats:

You need either Microsoft C 7.0 or MSC 6.0 and the Windows 3.0/3.1
Software Developers Toolkit, Borland's new C++ product for Windows
(which Mark Peterson uses), or Microsoft's QuickC-for-Windows to
rebuild WINFRACT from this ZIP file. You build Winfract with
Microsoft's product using the "makewin.bat" command (if you're not
using MSC7, you will have to edit the WINFRACT.MAK file slightly to
un-comment out one or more #DEFINEs in that file). You build
Winfract with Borland's product using the PRJ file supplied by Mark.
You build Winfract with Microsoft's QuickC-for-Windows using
the "qcwinfra.mak" file as your project file.


---------

How this program works:

First of all, we got lucky. Fractint-for-DOS has, for some time, been
structured such that the working modules periodically call a routine
called 'keypressed()'. That routine both lets the calling program know if
there is a keypress or mouse movement waiting that is of interest to the
calling routine, and it handles the help (F1) and status (TAB) routines in a
manner invisible to the calling routine.

In the Windows environment, 'keypressed()' performs a 'peekmessage()'
function, checking for and processing any user activity, and returns
a value indicating that either nothing of interest has happened, or that
the calling program should terminate and return to the main routine which
will actually decide what to do.

Aside from the routines that are taken directly from Fractint-for-DOS,
the following routines are Windows-specific:

winsrc.doc - you're reading it right now
makefrac.bat - run this routine to make a new version of WINFRACT
winfract.prj - PRJ file which you use if you are using Borland's "C"
winfract.mak - the WINFRACT "make" file
winfract.def - the WINFRACT "def" file
winfract.rc - the WINFRACT "resource compiler" file
winfract.ico - the WINFRACT "icon"
winfract.rtf - the source for the HELP text
winfract.hpj - the project for the HELP text
winfract.h - generic WINFRACT include file
select.h - used by the zoom-box routines (stolen from the Windows SDK)
winfract.lnk - the list of files required by the LINK step
winlib.lst - used to build a LIB of FFD routines
winfract.c - the main WINFRACT routine
dialog.c - the first of two dialog modules
dialog2.c - the second of two dialog modules
windos.c - Windows routines that fake DOS routines
(routines such as 'keypressed()' are in here)
mainfrac.c - the main "Fractint" driver routine (called by winfract.c)
select.c - Zoom-box routines (stolen from the Windows SDK)
wgeneral.asm - WINFRACT assembler code
wgeneral.obj - compiled version of same (so you won't need an assembler)
mathtool.c - Mark Peterson's Math-Tools and other code
mathtool.h - include file for the above
mathtool.rtf - Help file for the above
mathtool.ico - Icon file for the above
profile.c - SSTOOLS.INI profiler
profile.h - include file for the above


 December 13, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)