[SIZE=24pt]Woooohooo it works!! (resolved)[/SIZE]
This code will not run no matter what!!! I tried everything... its the function thats causing it to crash??
Here;s the code.
Sorry, it doesnt wrap...Code:// Temp2.cpp : Defines the entry point for the console application. // #include <iostream.h> #include <math.h> #include <stdio.h> struct nTemp { unsigned char Temp[18][256][256]; }; void saveIt(void); nTemp loadIt(void); int main(int argc, char* argv[]) { saveIt(); // thats all. cout << "Saved!" << endl; cin.ignore(); return 0; } void saveIt(void) { long temp = 0; long effect = 0; long src = 0; long dest = 0; nTemp myTemp; FILE* f = 0; cout << "Saving....\n"; for( effect = 0; effect < 18; effect++ ) { cout << "Effect: \t\t" << effect << endl; for( dest = 0; dest < 256; dest++ ) { for( src = 0; src < 256; src++ ) { switch( effect ) { case 0: // Add temp = (temp = src + dest) > 255 ? 255 : temp; break; case 1: // Subtract temp = (temp = dest - src) < 0 ? 0 : temp; break; case 2: // Subtract (corrected) temp = (temp = dest - (255 - src)) < 0 ? 0 : temp; break; case 3: // Better Add Effect (Alpha Map to White) temp = (((255 - src) * (dest + 1)) >> 16) - src; break; case 4: // Better Subtract Effect (Alpha Map to Black) temp = ((src * (dest + 256)) >> 16) - src; break; case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: // Translucency (5 to 12) temp = (src > 0) ? ((effect - 3) * ((dest + 11) - src)) / 11 + src - (effect - 3) : dest; break; case 13: // Weird Effects (13 - 17) temp = (src > 0) ? ((temp = (dest * atan(dest / src))) > 255 ? 255 : ((temp < 0) ? 0 : temp)) : dest; break; case 14: // Weird Effects (13 - 17) temp = (src > 0) ? ((temp = (dest * sqrt(dest / src))) > 255 ? 255 : ((temp < 0) ? 0 : temp)) : dest; break; case 15: // Weird Effects (13 - 17) temp = (src > 0) ? ((temp = (src * sin(dest / src))) > 255 ? 255 : ((temp < 0) ? 0 : temp)) : dest; break; case 16: // Weird Effects (13 - 17) temp = (src > 0) ? ((temp = (src * cos(dest / src))) > 255 ? 255 : ((temp < 0) ? 0 : temp)) : dest; break; case 17: // Weird Effects (13 - 17) temp = (src > 0) ? ((temp = (sqrt(dest) * sqrt(src))) > 255 ? 255 : ((temp < 0) ? 0 : temp)) : dest; break; //default: // if no effect selected, do nothing. // return; } myTemp.Temp[effect][dest][src] = temp; } } } // now write it to a file. f = fopen("spfx.dat", "w+b"); fwrite(&myTemp, 1, sizeof(myTemp), f); fclose(f); } nTemp loadIt(void) { FILE* f = NULL; nTemp s; cout << "Loading...\n"; f = fopen("spfx.dat", "r+b"); fread(&s, 1, sizeof(s), f); fclose(f); cout << "Loaded!" << endl; cout << "Temp[3][6][9] = " << s.Temp[3][6][9] << endl; return s; }




:MoMad:
Reply With Quote