/**************************************************************************** * optin.h * * This module contains all defines, typedefs, and prototypes for OPTIN.C. * * from Persistence of Vision(tm) Ray Tracer * Copyright 1996 Persistence of Vision Team *--------------------------------------------------------------------------- * NOTICE: This source code file is provided so that users may experiment * with enhancements to POV-Ray and to port the software to platforms other * than those supported by the POV-Ray Team. There are strict rules under * which you are permitted to use this file. The rules are in the file * named POVLEGAL.DOC which should be distributed with this file. If * POVLEGAL.DOC is not available or for more info please contact the POV-Ray * Team Coordinator by leaving a message in CompuServe's Graphics Developer's * Forum. The latest version of POV-Ray may be found there as well. * * This program is based on the popular DKB raytracer version 2.12. * DKBTrace was originally written by David K. Buck. * DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins. * *****************************************************************************/ #ifndef OPTIN_H #define OPTIN_H /***************************************************************************** * Global preprocessor defines ******************************************************************************/ /* Max. number of nested ini-files. */ #define MAX_NESTED_INI 10 /***************************************************************************** * Global typedefs ******************************************************************************/ /* Defines for the ini-parser. */ typedef enum ini_op { ALL_CONSOLE_OP=0, ALL_FILE_OP, ANTIALIAS_DEPTH_OP, ANTIALIAS_OP, ANTIALIAS_THRESH_OP, BOUNDING_OP, BOUNDING_THRESH_OP, BUFFERED_OUTPUT_OP, BUF_SIZE_OP, CLOCK_OP, CONTINUE_OP, CREATE_INI_OP, CYCLIC_ANIMATION_OP, DEBUG_CONSOLE_OP, DEBUG_FILE_OP, DISPLAY_OP, DISPLAY_GAMMA_OP, DRAW_VISTAS_OP, END_COLUMN_OP, END_ROW_OP, FATAL_CONSOLE_OP, FATAL_ERROR_CMD_OP, FATAL_ERROR_RET_OP, FATAL_FILE_OP, FIELD_RENDER_OP, FILE_OUTPUT_OP, FILE_OUTPUT_TYPE_OP, FINAL_CLOCK_OP, FINAL_FRAME_OP, HEIGHT_OP, HIST_NAME_OP, HIST_SIZE_OP, HIST_TYPE_OP, INITIAL_CLOCK_OP, INITIAL_FRAME_OP, INPUT_FILE_NAME_OP, JITTER_AMOUNT_OP, JITTER_OP, LIBRARY_PATH_OP, LIGHT_BUFFER_OP, ODD_FIELD_OP, OUTPUT_ALPHA_OP, OUTPUT_FILE_NAME_OP, PALETTE_OP, PAUSE_WHEN_DONE_OP, POST_FRAME_CMD_OP, POST_FRAME_RET_OP, POST_SCENE_CMD_OP, POST_SCENE_RET_OP, PREVIEW_E_OP, PREVIEW_S_OP, PRE_FRAME_CMD_OP, PRE_FRAME_RET_OP, PRE_SCENE_CMD_OP, PRE_SCENE_RET_OP, QUALITY_OP, RAD_SWITCH_OP, REMOVE_BOUNDS_OP, RENDER_CONSOLE_OP, RENDER_FILE_OP, SAMPLING_METHOD_OP, SPLIT_UNIONS_OP, START_COLUMN_OP, START_ROW_OP, STATISTIC_CONSOLE_OP, STATISTIC_FILE_OP, SUBSET_END_FRAME_OP, SUBSET_START_FRAME_OP, TEST_ABORT_COUNT_OP, TEST_ABORT_OP, USER_ABORT_CMD_OP, USER_ABORT_RET_OP, VERBOSE_OP, VERSION_OP, VIDEO_MODE_OP, VISTA_BUFFER_OP, WARNING_CONSOLE_OP, WARNING_FILE_OP, WIDTH_OP, BITS_PER_COLOR_OP, BITS_PER_COLOUR_OP, INCLUDE_INI_OP, MAX_OPTION } INI_OP; /***************************************************************************** * Global variables ******************************************************************************/ extern long Quality_Values[]; extern struct Reserved_Word_Struct Option_Variable [] ; /***************************************************************************** * Global functions ******************************************************************************/ char *get_ini_value PARAMS((int op, int libind)); void parse_switch PARAMS((char *Option_String)); void process_variable PARAMS((TOKEN variable,char *value)); void Do_Stream_Option PARAMS((int i, char *value)); void Do_Return_Option PARAMS((SHELLTYPE Type, char *value)); int parse_ini_file PARAMS((char *File_Name)); void parse_option_line PARAMS((char *Option_Line)); void Write_INI_File PARAMS((void)); #endif