Alright, I think I figured this out... its the structure alignment used by the compiler. In article <E1HEIcX-0000EF-00@xmission.xmission.com>, Richard <legalize@xmission.com> writes:
struct fractal_info /* for saving data in GIF file */ {
offset 0
char info_id[8]; /* Unique identifier for info block */
offset 8
short iterationsold; /* Pre version 18.24 */
offset 10
short fractal_type; /* 0=Mandelbrot 1=Julia 2= ... */
offset 12
double xmin;
VS.NET doesn't like to put a double at an address that's not a multiple of 16, so it inserted 4 pad bytes so that xmin began at offset 16 from the beginning of the structure. That misaligned the structure with the file data and all the bytes were shifted as a result. I will fix this with a #pragma packing directive for _WIN32... -- "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/>