In article <1171844972.3932.4.camel@linux.site>, Jonathan Osuch <osuchj@avalon.net> writes:
In the HEAD, I moved the history routines out of framain2.c into history.c. This was to allow using them in WinFract without having to re-implement them. Eventually, you'll want to do the same since most, if not all, of the code in framain2.c should go away.
It seems that it restores the HISTORY structure and then returns control to the main loop, but somehow we get out of synch and compute the wrong image. One thing that's changed here is the elimination of extraseg. We could have been depending on communication through extraseg before and now its an independent chunk of memory, so some state needs to be re-initialized. I noticed that the dx0, etc., arrays were allocated from extraseg before, but they are allocated independently now. This seems a likely candidate for the problem.
BTW, I managed to compile and run your source.
Great! I did adjust the source so that if it's compiled under VS.NET 2005 you don't get scads of warnings about the potentially unsafe C runtime functions like sprintf instead of sprintf_s (sprintf_s supplies an additional varargs argument that gives the length of the string for a %s format specifier). So Paul, if you try compiling the code with the C++ Express 2005, then it shouldn't give any more warnings. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>