/** * @file options.h * @date 29/07/2022 * @author JackCarterSmith * @copyright GPL-v3.0 * @brief Shared options structure definition and declaration. * */ #ifndef OPTIONS_H_ #define OPTIONS_H_ // Scale value for vertex grid constructor (default: 0.1) TODO: user input as argument? #define TERRAIN_MESH_SCALE 0.1 /// Options structure typedef union u_prog_options { struct { unsigned char verbose_mode:1; //!< Output simple details about ID and other "light" things. unsigned char debug_mode:1; //!< Output all values of faces, indices and vertices and others "heavy" things. unsigned char god_mode:1; //!< Dev only. Output experimental values. unsigned char output_dir:1; //!< Export extracted datas to a sub-directory. unsigned char inverted_Z:1; //!< Reverse Z axis in tilesmap parsing. unsigned char negative_HM:1; //!< Enable negative heightmap output. unsigned char export_mtl:1; //!< Export materials datas with object. unsigned short reserved0:10; //!< For future use. unsigned short input_files_cnt; //!< Internal files counters. }; unsigned int raw; //!< Raw options access for bit-masking or memory copy/compare. } T_PROG_OPTIONS ; #endif /* OPTIONS_H_ */