/* *********************************************************************** * * * Program for Generation of Description Files for RENDER.C * * * * Program by * * Christopher D. Watkins * * * * 'C' conversion by * * Larry Sharp * * * *********************************************************************** */ #include "stdio.h" #include "dos.h" #include "conio.h" #include "math.h" #include "string.h" #include "math.inc" #include "graph.inc" #include "render.inc" /* *********************************************************************** * * * Keyboard Response Routines * * * *********************************************************************** Response - returns true or flase to a Y or N keyboard stroke NumberResponse - returns a 0 to 9 based on keyboard stroke */ char NumbResp[6]; void Response() { char c; strcpy(NumbResp, "\n"); while((!(c=='Y')) && (!(c=='N'))) { while(!(kbhit())); c=toupper(getch()); } putch(c); if(c=='Y') strcpy(NumbResp, "true"); else strcpy(NumbResp, "false"); } void NumberResponse() { char c; strcpy(NumbResp, "\n"); while(!(isdigit(c))) { c=getch(); } putch(c); NumbResp[0]=c; } /* *********************************************************************** * * * Save Description Data * * * *********************************************************************** SaveDescription - saves description of object */ void SaveDescription(Name FileName) { int NDiv, i; strcat(FileName, ".DES"); TextDiskFile=fopen(FileName, "w+t"); printf("Display in Half Scale? "); Response(); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\nDisplay the Ground? "); Response(); fprintf(TextDiskFile, "%s\n", NumbResp); for(i=0; i<8; i++) { printf("\nColor #%d is ", i); GetObjectColor(i); } puts(""); if(strcmp(NumbResp, "Y")) { printf("Ground Color (1-7) = "); NumberResponse(); fprintf(TextDiskFile, "%s\n", NumbResp); } else fprintf(TextDiskFile, "%s\n", "0"); printf("\nNumber of Height Divisions = "); NumberResponse(); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\nEnter Color for each Division : \n"); NDiv=atoi(NumbResp); for(i=1; i<=NDiv; i++) { printf("Color for %d / %d (1-7) = ", i, NDiv); NumberResponse(); fprintf(TextDiskFile, "%s\n", NumbResp); puts(""); } printf("Top Color (1-7) = "); NumberResponse(); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\nSpread of Normal Calculation = "); NumberResponse(); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\nDirecton of Light\nAround the z-Axis = "); gets(NumbResp); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\n off the z-Axis = "); gets(NumbResp); fprintf(TextDiskFile, "%s\n", NumbResp); printf("Tilt of the xy-Plane = "); gets(NumbResp); fprintf(TextDiskFile, "%s\n", NumbResp); printf("\nY Offset = "); gets(NumbResp); fprintf(TextDiskFile, "%s\n", NumbResp); fclose(TextDiskFile); } void main() { clrscr(); printf("Program to Generate a Description File for an Object\n\n"); GetObjectFile(); SaveDescription(ObjectFile); }