1 // vi:sw=2:expandtab
2 // clang-format off
3 /*
4  * Setting info table and indices
5  *
6  * WARNING: do not delete or change indices since they are used in session objects
7  *
8  * Include this file exactly twice:
9  * 1) in Setting.h to define the enum with all cSetting_<name> indices
10  * 2) in Setting.cpp with SETTINGINFO_IMPLEMENTATION defined, to have
11  *    `SettingInfo` statically defined there
12  *
13  */
14 #ifdef SETTINGINFO_IMPLEMENTATION
15 // for Setting.cpp
16 
17 #define REC__(idx, name)             {#name, cSetting_blank,   cSettingLevel_unused}
18 #define REC_b(idx, name, level, val) {#name, cSetting_boolean, cSettingLevel_ ## level, SettingInfoItem(val, 0, 1)}
19 #define REC_i(idx, name, level, ...) {#name, cSetting_int,     cSettingLevel_ ## level, SettingInfoItem(__VA_ARGS__)}
20 #define REC_f(idx, name, level, ...) {#name, cSetting_float,   cSettingLevel_ ## level, SettingInfoItem(__VA_ARGS__)}
21 #define REC_3(idx, name, level, ...) {#name, cSetting_float3,  cSettingLevel_ ## level, SettingInfoItem(__VA_ARGS__)}
22 #define REC_s(idx, name, level, val) {#name, cSetting_string,  cSettingLevel_ ## level, val}
23 #define REC_c(idx, name, level, val) {#name, cSetting_color,   cSettingLevel_ ## level, val}
24 
25 union SettingInfoItem {
26   int i[3];
27   float f[3];
28   const char * s;
29 
30   // constructors
31   SettingInfoItem(int i0=0, int i1=0, int i2=0) {
32     i[0] = i0;
33     i[1] = i1;
34     i[2] = i2;
35   }
36   SettingInfoItem(float f0, float f1=0.f, float f2=0.f) {
37     f[0] = f0;
38     f[1] = f1;
39     f[2] = f2;
40   }
SettingInfoItem(const char * sval)41   SettingInfoItem(const char *sval) {
42     s = sval;
43   }
44 };
45 
46 const static struct {
47   const char * name;
48   unsigned char type;
49   unsigned char level;
50 
51   // default value
52   // for type int and float, can also hold allowd min/max values
53   SettingInfoItem value;
54 
55   // only call this for int or float type
hasMinMax__anon8a900822010856   bool hasMinMax() const {
57     return value.i[1] != value.i[2];
58   };
59 
60 } SettingInfo[] = {
61 
62 #else
63 // for Setting.h
64 
65 #define REC__(idx, name)      cSetting_ ## name ## _unused_ ## idx
66 #define REC_b(idx, name, ...) cSetting_ ## name = idx
67 #define REC_i(idx, name, ...) cSetting_ ## name = idx
68 #define REC_f(idx, name, ...) cSetting_ ## name = idx
69 #define REC_3(idx, name, ...) cSetting_ ## name = idx
70 #define REC_s(idx, name, ...) cSetting_ ## name = idx
71 #define REC_c(idx, name, ...) cSetting_ ## name = idx
72 
73 // legacy names
74 #define cSetting_ortho                  cSetting_orthoscopic
75 #define cSetting_pqr_workarounds        cSetting_pqr_no_chain_id
76 #define cSetting_ray_shadows            cSetting_ray_shadow
77 
78 // for min/max
79 #define MAX_SPHERE_QUALITY 4 /* NUMBER_OF_SPHERE_LEVELS-1 */
80 
81 enum {
82 #endif
83 
84   REC_f(   0, bonding_vdw_cutoff                      , unused    , 0.2F ),
85   REC_f(   1, min_mesh_spacing                        , ostate    , 0.6F ),
86   REC_i(   2, dot_density                             , ostate    , 2 ),
87   REC_i(   3, dot_mode                                , global    , 0 ),
88   REC_f(   4, solvent_radius                          , ostate    , 1.4F ),
89   REC_i(   5, sel_counter                             , global    , 0 ),
90   REC_c(   6, bg_rgb                                  , global    , "0x000000" ),
91   REC_f(   7, ambient                                 , global    , 0.14F ),
92   REC_f(   8, direct                                  , global    , 0.45F ),
93   REC_f(   9, reflect                                 , global    , 0.45F ),
94   REC_3(  10, light                                   , global    , -0.4F, -0.4F, -1.0F ),
95   REC_f(  11, power                                   , global    , 1.0F ),
96   REC_i(  12, antialias                               , global    , 1 ),
97   REC_i(  13, cavity_cull                             , ostate    , 10 ),
98   REC_f(  14, gl_ambient                              , unused    , 0.12F ),
99   REC_b(  15, single_image                            , global    , 0 ),
100   REC_f(  16, movie_delay                             , global    , 30.0F ),
101   REC_f(  17, ribbon_power                            , ostate    , 2.0F ),
102   REC_f(  18, ribbon_power_b                          , ostate    , 0.5F ),
103   REC_i(  19, ribbon_sampling                         , ostate    , 1 ),
104   REC_f(  20, ribbon_radius                           , ostate    , 0.0F ),
105   REC_f(  21, stick_radius                            , bond      , 0.25F ),
106   REC_i(  22, hash_max                                , global    , 100 ),
107   REC_b(  23, orthoscopic                             , global    , 0 ),
108   REC_f(  24, spec_reflect                            , global    , -1.0F ),
109   REC_f(  25, spec_power                              , global    , -1.0F ),
110   REC_f(  26, sweep_angle                             , global    , 20.0F ),
111   REC_f(  27, sweep_speed                             , global    , 0.75F ),
112   REC_b(  28, dot_hydrogens                           , ostate    , 1 ),
113   REC_f(  29, dot_radius                              , ostate    , 0.0F ),
114   REC_b(  30, ray_trace_frames                        , global    , 0 ),
115   REC_b(  31, cache_frames                            , global    , 0 ),
116   REC_b(  32, trim_dots                               , ostate    , 1 ),
117   REC_i(  33, cull_spheres                            , unused    , 0 ),
118   REC_f(  34, test1                                   , global    , 3.0F ),
119   REC_f(  35, test2                                   , global    , -0.5F ),
120   REC_f(  36, surface_best                            , ostate    , 0.25F ),
121   REC_f(  37, surface_normal                          , ostate    , 0.5F ),
122   REC_i(  38, surface_quality                         , ostate    , 0 ),
123   REC_b(  39, surface_proximity                       , ostate    , 1 ),
124   REC_b(  40, normal_workaround                       , global    , 0 ),
125   REC_f(  41, stereo_angle                            , global    , 2.1F ),
126   REC_f(  42, stereo_shift                            , global    , 2.0F ),
127   REC_b(  43, line_smooth                             , global    , 1 ),
128   REC_f(  44, line_width                              , bond      , 1.49F ),    /* under 1.5F to retain SGI antialiasing */
129   REC_b(  45, half_bonds                              , ostate    , 0 ),
130   REC_i(  46, stick_quality                           , ostate    , 8, 3, 100 ), /* no actual max */
131   REC_f(  47, stick_overlap                           , ostate    , 0.2F ),
132   REC_f(  48, stick_nub                               , ostate    , 0.7F ),
133   REC_b(  49, all_states                              , object    , 0 ),
134   REC_b(  50, pickable                                , ostate    , 1 ),
135   REC_b(  51, auto_show_lines                         , global    , 1 ),
136   REC_f(  52, idle_delay                              , global    , 1.5F ),
137   REC_f(  53, no_idle                                 , global    , 2000.0F ),  /* 1/500th of a sec. */
138   REC_f(  54, fast_idle                               , global    , 10000.0F ), /* 1/100th of a sec. */
139   REC_f(  55, slow_idle                               , global    , 40000.0F ), /* 1/25th of a sec. */
140   REC_f(  56, rock_delay                              , global    , 30.0F ),
141   REC_i(  57, dist_counter                            , global    , 0 ),
142   REC_f(  58, dash_length                             , ostate    , 0.15F ),
143   REC_f(  59, dash_gap                                , ostate    , 0.45F ),
144   REC_i(  60, auto_zoom                               , global    , -1 ),
145   REC_i(  61, overlay                                 , global    , 0 ),
146   REC_b(  62, text                                    , global    , 0 ),
147   REC_i(  63, button_mode                             , global    , 0 ),
148   REC_b(  64, valence                                 , bond      , 1 ),
149   REC_f(  65, nonbonded_size                          , ostate    , 0.25F ),
150   REC_c(  66, label_color                             , atom      , "-6" ),
151   REC_f(  67, ray_trace_fog                           , global    , -1.0F ),
152   REC_f(  68, spheroid_scale                          , ostate    , 1.0F ),
153   REC_f(  69, ray_trace_fog_start                     , global    , -1.0F ),
154   REC_f(  70, spheroid_smooth                         , global    , 1.1F ),
155   REC_f(  71, spheroid_fill                           , global    , 1.30F ),
156   REC_b(  72, auto_show_nonbonded                     , global    , 1 ),
157   REC_b(  73, cache_display                           , global    , 1 ),
158   REC_f(  74, mesh_radius                             , ostate    , 0.000F ),
159   REC_b(  75, backface_cull                           , global    , 0 ),
160   REC_f(  76, gamma                                   , global    , 1.0F ),
161   REC_f(  77, dot_width                               , ostate    , 2.0F ),
162   REC_b(  78, auto_show_selections                    , global    , 1 ),
163   REC_b(  79, auto_hide_selections                    , global    , 1 ),
164   REC_f(  80, selection_width                         , global    , 3.0F ),
165   REC_f(  81, selection_overlay                       , global    , 1.0F ),
166   REC_b(  82, static_singletons                       , object    , 1 ),
167   REC__(  83,  ),
168   REC_b(  84, depth_cue                               , global    , 1 ),
169   REC_f(  85, specular                                , global    , 1.0F ),
170   REC_f(  86, shininess                               , global    , 55.0F ),
171   REC_i(  87, sphere_quality                          , ostate    , 1, 0, MAX_SPHERE_QUALITY ),
172   REC_f(  88, fog                                     , global    , 1.0F ),
173   REC_b(  89, isomesh_auto_state                      , global    , 0 ),
174   REC_f(  90, mesh_width                              , ostate    , 1.0F ),
175   REC_i(  91, cartoon_sampling                        , ostate    , -1 ),
176   REC_f(  92, cartoon_loop_radius                     , ostate    , 0.2F ),
177   REC_f(  93, cartoon_loop_quality                    , ostate    , -1.F ),
178   REC_f(  94, cartoon_power                           , ostate    , 2.0F ),
179   REC_f(  95, cartoon_power_b                         , ostate    , 0.52F ),
180   REC_f(  96, cartoon_rect_length                     , ostate    , 1.40F ),
181   REC_f(  97, cartoon_rect_width                      , ostate    , 0.4F ),
182   REC_i(  98, internal_gui_width                      , global    , cOrthoRightSceneMargin ),
183   REC_b(  99, internal_gui                            , object    , 1 ),
184   REC_f( 100, cartoon_oval_length                     , ostate    , 1.35F ),
185   REC_f( 101, cartoon_oval_width                      , ostate    , 0.25F ),
186   REC_f( 102, cartoon_oval_quality                    , ostate    , -1.F ),
187   REC_f( 103, cartoon_tube_radius                     , ostate    , 0.5F ),
188   REC_f( 104, cartoon_tube_quality                    , ostate    , -1.F ),
189   REC_i( 105, cartoon_debug                           , ostate    , 0 ),
190   REC_f( 106, ribbon_width                            , ostate    , 3.0F ),
191   REC_f( 107, dash_width                              , ostate    , 2.5F ),
192   REC_f( 108, dash_radius                             , ostate    , 0.00F ),
193   REC_f( 109, cgo_ray_width_scale                     , ostate    , -0.15F ),
194   REC_f( 110, line_radius                             , ostate    , 0.0F ),
195   REC_b( 111, cartoon_round_helices                   , ostate    , 1 ),
196   REC_i( 112, cartoon_refine_normals                  , ostate    , -1 ),
197   REC_b( 113, cartoon_flat_sheets                     , ostate    , 1 ),
198   REC_b( 114, cartoon_smooth_loops                    , ostate    , 0 ),
199   REC_f( 115, cartoon_dumbbell_length                 , ostate    , 1.60F ),
200   REC_f( 116, cartoon_dumbbell_width                  , ostate    , 0.17F ),
201   REC_f( 117, cartoon_dumbbell_radius                 , ostate    , 0.16F ),
202   REC_b( 118, cartoon_fancy_helices                   , ostate    , 0 ),
203   REC_b( 119, cartoon_fancy_sheets                    , ostate    , 1 ),
204   REC_b( 120, ignore_pdb_segi                         , global    , 0 ),
205   REC_f( 121, ribbon_throw                            , ostate    , 1.35F ),
206   REC_f( 122, cartoon_throw                           , ostate    , 1.35F ),
207   REC_i( 123, cartoon_refine                          , ostate    , 5 ),
208   REC_i( 124, cartoon_refine_tips                     , ostate    , 10 ),
209   REC_b( 125, cartoon_discrete_colors                 , ostate    , 0 ),
210   REC_i( 126, normalize_ccp4_maps                     , global    , 1 ),
211   REC_f( 127, surface_poor                            , ostate    , 0.85F ),
212   REC_i( 128, internal_feedback                       , global    , 1 ),
213   REC_f( 129, cgo_line_width                          , ostate    , 1.00F ),
214   REC_f( 130, cgo_line_radius                         , ostate    , -0.05F ),
215   /* 0 = off, 1 = regular (PML), 2 = python (PYM) */
216   REC_i( 131, logging                                 , global    , 0, 0, 2 ),
217   REC_b( 132, robust_logs                             , global    , 0 ),
218   REC_b( 133, log_box_selections                      , global    , 1 ),
219   REC_b( 134, log_conformations                       , global    , 1 ),
220   REC_f( 135, valence_size                            , ostate    , 0.060F ),
221   REC_f( 136, surface_miserable                       , ostate    , 2.0F ),
222   REC_i( 137, ray_opaque_background                   , global    , -1 ),
223   REC_f( 138, transparency                            , atom      , 0.0F ),
224   REC_i( 139, ray_texture                             , ostate    , 0 ),
225   REC_3( 140, ray_texture_settings                    , ostate    , 0.1F, 5.0F, 1.0F ),
226   REC_b( 141, suspend_updates                         , global    , 0 ),
227   REC_b( 142, full_screen                             , unused    , 0 ),
228   REC_i( 143, surface_mode                            , ostate    , 0 ),        /* by flag is the default */
229   REC_c( 144, surface_color                           , atom      , "-1" ),
230   REC_i( 145, mesh_mode                               , ostate    , 0 ),        /* by flag is the default */
231   REC_c( 146, mesh_color                              , atom      , "-1" ),
232   REC_b( 147, auto_indicate_flags                     , global    , 0 ),
233   REC_i( 148, surface_debug                           , global    , 0 ),
234   REC_f( 149, ray_improve_shadows                     , global    , 0.1F ),
235   REC_b( 150, smooth_color_triangle                   , global    , 0 ),
236   REC_i( 151, ray_default_renderer                    , global    , 0 ),
237   REC_f( 152, field_of_view                           , global    , 20.0F ),
238   REC_f( 153, reflect_power                           , global    , 1.0F ),
239   REC_b( 154, preserve_chempy_ids                     , global    , 0 ),
240   REC_f( 155, sphere_scale                            , atom      , 1.0F ),
241   REC_i( 156, two_sided_lighting                      , ostate    , -1 ),
242   REC_i( 157, secondary_structure                     , global    , 2, 1, 4),
243   REC_b( 158, auto_remove_hydrogens                   , global    , 0 ),
244   REC_b( 159, raise_exceptions                        , global    , 1 ),
245   REC_b( 160, stop_on_exceptions                      , global    , 0 ),
246   REC_b( 161, sculpting                               , ostate    , 0 ),
247   REC_b( 162, auto_sculpt                             , global    , 0 ),
248   REC_f( 163, sculpt_vdw_scale                        , ostate    , 0.97F ),
249   REC_f( 164, sculpt_vdw_scale14                      , ostate    , 0.90F ),
250   REC_f( 165, sculpt_vdw_weight                       , ostate    , 1.0F ),
251   REC_f( 166, sculpt_vdw_weight14                     , ostate    , 0.2F ),
252   REC_f( 167, sculpt_bond_weight                      , ostate    , 2.25F ),
253   REC_f( 168, sculpt_angl_weight                      , ostate    , 1.0F ),
254   REC_f( 169, sculpt_pyra_weight                      , ostate    , 1.0F ),
255   REC_f( 170, sculpt_plan_weight                      , ostate    , 1.0F ),
256   REC_i( 171, sculpting_cycles                        , object    , 10 ),
257   REC_f( 172, sphere_transparency                     , atom      , 0.0F ),
258   REC_c( 173, sphere_color                            , atom      , "-1" ),
259   REC_i( 174, sculpt_field_mask                       , ostate    , 0x1FF ),
260   REC_f( 175, sculpt_hb_overlap                       , ostate    , 1.0F ),
261   REC_f( 176, sculpt_hb_overlap_base                  , ostate    , 0.35F ),
262   REC_b( 177, legacy_vdw_radii                        , unused    , 0 ),
263   REC_b( 178, sculpt_memory                           , ostate    , 1 ),
264   REC_i( 179, connect_mode                            , global    , 0 ),
265   REC_b( 180, cartoon_cylindrical_helices             , ostate    , 0 ),
266   REC_f( 181, cartoon_helix_radius                    , ostate    , 2.25F ),
267   REC_f( 182, connect_cutoff                          , global    , 0.35F ),
268   REC_b( 183, save_pdb_ss                             , unused    , 0 ),
269   REC_f( 184, sculpt_line_weight                      , ostate    , 1.0F ),
270   REC_i( 185, fit_iterations                          , global    , 1000 ),
271   REC_f( 186, fit_tolerance                           , global    , 0.0000001F ),
272   REC_s( 187, batch_prefix                            , global    , "tmp_pymol" ),
273   REC_i( 188, stereo_mode                             , global    , 2, 1, 13 ),        /* crosseye by default */
274   REC_i( 189, cgo_sphere_quality                      , global    , 1, 0, MAX_SPHERE_QUALITY ),
275   REC_b( 190, pdb_literal_names                       , global    , 0 ),
276   REC_b( 191, wrap_output                             , global    , 0 ),
277   REC_f( 192, fog_start                               , global    , 0.45F ),
278   REC_i( 193, state                                   , object    , 1 ),
279   REC_i( 194, frame                                   , global    , 1 ),
280   REC_b( 195, ray_shadow                              , global    , 1 ),
281   REC_i( 196, ribbon_trace_atoms                      , atom      , 0 ),
282   REC_i( 197, security                                , global    , 1 ),
283   REC_f( 198, stick_transparency                      , bond      , 0.0F ),
284   REC_b( 199, ray_transparency_shadows                , global    , 1 ),
285   REC_i( 200, session_version_check                   , global    , 0 ),
286   REC_f( 201, ray_transparency_specular               , global    , 0.6F ),
287   REC_b( 202, stereo_double_pump_mono                 , global    , 0 ),
288   REC_b( 203, sphere_solvent                          , ostate    , 0 ),
289   REC_i( 204, mesh_quality                            , ostate    , 2 ),
290   REC_i( 205, mesh_solvent                            , ostate    , 0 ),
291   REC_b( 206, dot_solvent                             , ostate    , 0 ),
292   REC_f( 207, ray_shadow_fudge                        , global    , 0.001F ),
293   REC_f( 208, ray_triangle_fudge                      , global    , 0.0000001F ),
294   REC_i( 209, debug_pick                              , global    , 0 ),
295   REC_c( 210, dot_color                               , atom      , "-1" ),
296   REC_f( 211, mouse_limit                             , global    , 100.0F ),
297   REC_f( 212, mouse_scale                             , global    , 1.3F ),
298   REC_i( 213, transparency_mode                       , ostate    , 2 ),
299   REC_b( 214, clamp_colors                            , global    , 1 ),
300   REC_f( 215, pymol_space_max_red                     , global    , 0.90F ),
301   REC_f( 216, pymol_space_max_green                   , global    , 0.75F ),
302   REC_f( 217, pymol_space_max_blue                    , global    , 0.90F ),
303   REC_f( 218, pymol_space_min_factor                  , global    , 0.15F ),
304   REC_b( 219, roving_origin                           , global    , 1 ),
305   REC_f( 220, roving_lines                            , global    , 10.0F ),
306   REC_f( 221, roving_sticks                           , global    , 6.0F ),
307   REC_f( 222, roving_spheres                          , global    , 0.0F ),
308   REC_f( 223, roving_labels                           , global    , 0.0F ),
309   REC_f( 224, roving_delay                            , global    , 0.2F ),
310   REC_s( 225, roving_selection                        , global    , "all" ),
311   REC_b( 226, roving_byres                            , global    , 1 ),
312   REC_f( 227, roving_ribbon                           , global    , -7.0F ),
313   REC_f( 228, roving_cartoon                          , global    , 0.0F ),
314   REC_f( 229, roving_polar_contacts                   , global    , 7.0F ),
315   REC_f( 230, roving_polar_cutoff                     , global    , 3.31F ),
316   REC_f( 231, roving_nonbonded                        , global    , 0.0F ),
317   REC_i( 232, float_labels                            , ostate    , 0 ),
318   REC_b( 233, roving_detail                           , global    , 0 ),
319   REC_f( 234, roving_nb_spheres                       , global    , 8.0F ),
320   REC_c( 235, ribbon_color                            , atom      , "-1" ),
321   REC_c( 236, cartoon_color                           , atom      , "-1" ),
322   REC_i( 237, ribbon_smooth                           , unused    , 0 ),
323   REC_b( 238, auto_color                              , global    , 1 ),
324   REC_i( 239, auto_color_next                         , global    , 0 ),
325   REC_c( 240, ray_interior_color                      , ostate    , "-1" ),
326   REC_c( 241, cartoon_highlight_color                 , ostate    , "-1" ),
327   REC_f( 242, coulomb_units_factor                    , global    , 557.00000F ),
328   REC_f( 243, coulomb_dielectric                      , global    , 2.0F ),
329   REC_b( 244, ray_interior_shadows                    , global    , 0 ),
330   REC_i( 245, ray_interior_texture                    , global    , -1 ),
331   REC_s( 246, roving_map1_name                        , global    , "" ),
332   REC_s( 247, roving_map2_name                        , global    , "" ),
333   REC_s( 248, roving_map3_name                        , global    , "" ),
334   REC_f( 249, roving_map1_level                       , global    , 1.0F ),
335   REC_f( 250, roving_map2_level                       , global    , 2.0F ),
336   REC_f( 251, roving_map3_level                       , global    , 3.0F ),
337   REC_f( 252, roving_isomesh                          , global    , 8.0F ),
338   REC_f( 253, roving_isosurface                       , global    , 0.0F ),
339   REC_b( 254, scenes_changed                          , global    , 1 ),
340   REC_f( 255, gaussian_b_adjust                       , global    , 0.0F ),
341   REC_b( 256, pdb_standard_order                      , global    , 1 ),
342   REC_i( 257, cartoon_smooth_first                    , ostate    , 1 ),
343   REC_i( 258, cartoon_smooth_last                     , ostate    , 1 ),
344   REC_i( 259, cartoon_smooth_cycles                   , ostate    , 2 ),
345   REC_i( 260, cartoon_flat_cycles                     , ostate    , 4 ),
346   REC_i( 261, max_threads                             , object    , 1 ),
347   REC_i( 262, show_progress                           , global    , 1 ),
348   REC_i( 263, use_display_lists                       , unused    , 0 ),
349   REC_i( 264, cache_memory                            , global    , 0 ),        /* doesn't seem to do any good :( */
350   REC_b( 265, simplify_display_lists                  , unused    , 0 ),
351   REC_i( 266, retain_order                            , object    , 0 ),
352   REC_i( 267, pdb_hetatm_sort                         , object    , 0 ),
353   REC_i( 268, pdb_use_ter_records                     , global    , 1 ),
354   REC_i( 269, cartoon_trace_atoms                     , atom      , 0 ),
355   REC_i( 270, ray_oversample_cutoff                   , global    , 120 ),
356   /* note that this setting is ad-hoc and calibrated such that a
357      gaussian_resolution of 2.0 returns maps with the straight atomic
358      scattering factors (unblurred).  At resolution of 4.0, they are
359      blurred 2X, 8.0:4X, and so forth....  */
360   REC_f( 271, gaussian_resolution                     , global    , 2.0F ),
361   REC_f( 272, gaussian_b_floor                        , global    , 0.0F ),
362   REC_i( 273, sculpt_nb_interval                      , ostate    , 17 ),
363   REC_f( 274, sculpt_tors_weight                      , ostate    , 0.05F ),
364   REC_f( 275, sculpt_tors_tolerance                   , ostate    , 0.05F ),
365   REC_b( 276, stick_ball                              , atom      , false ),
366   REC_f( 277, stick_ball_ratio                        , ostate    , 1.0F ),
367   REC_b( 278, stick_fixed_radius                      , ostate    , false ),
368   REC_f( 279, cartoon_transparency                    , atom      , 0.0F ),
369   REC_b( 280, dash_round_ends                         , ostate    , 1 ),
370   REC_f( 281, h_bond_max_angle                        , global    , 63.0F ),
371   REC_f( 282, h_bond_cutoff_center                    , global    , 3.6F ),
372   REC_f( 283, h_bond_cutoff_edge                      , global    , 3.2F ),
373   REC_f( 284, h_bond_power_a                          , global    , 1.6F ),
374   REC_f( 285, h_bond_power_b                          , global    , 5.0F ),
375   REC_f( 286, h_bond_cone                             , global    , 180.0F ),
376   REC_f( 287, ss_helix_psi_target                     , global    , -48.0F ),
377   REC_f( 288, ss_helix_psi_include                    , global    , 55.0F ),
378   REC_f( 289, ss_helix_psi_exclude                    , global    , 85.0F ),
379   REC_f( 290, ss_helix_phi_target                     , global    , -57.0F ),
380   REC_f( 291, ss_helix_phi_include                    , global    , 55.0F ),
381   REC_f( 292, ss_helix_phi_exclude                    , global    , 85.0F ),
382   REC_f( 293, ss_strand_psi_target                    , global    , 124.0F ),
383   REC_f( 294, ss_strand_psi_include                   , global    , 40.0F ),
384   REC_f( 295, ss_strand_psi_exclude                   , global    , 90.0F ),
385   REC_f( 296, ss_strand_phi_target                    , global    , -129.0F ),
386   REC_f( 297, ss_strand_phi_include                   , global    , 40.0F ),
387   REC_f( 298, ss_strand_phi_exclude                   , global    , 100.0F ),
388   REC_b( 299, movie_loop                              , object    , 1 ),
389   REC_b( 300, pdb_retain_ids                          , global    , 0 ),
390   REC_b( 301, pdb_no_end_record                       , global    , 0 ),
391   REC_f( 302, cgo_dot_width                           , ostate    , 2.0F ),
392   REC_f( 303, cgo_dot_radius                          , ostate    , -1.0F ),
393   REC_b( 304, defer_updates                           , global    , 0 ),
394   REC_b( 305, normalize_o_maps                        , global    , 1 ),
395   REC_b( 306, swap_dsn6_bytes                         , global    , 1 ),
396   REC_b( 307, pdb_insertions_go_first                 , global    , 0 ),
397   REC_b( 308, roving_origin_z                         , global    , 1 ),
398   REC_f( 309, roving_origin_z_cushion                 , global    , 3.0F ),
399   REC_f( 310, specular_intensity                      , global    , 0.5F ),
400   REC_i( 311, overlay_lines                           , global    , 5 ),
401   REC_f( 312, ray_transparency_spec_cut               , global    , 0.9F ),
402   REC_b( 313, internal_prompt                         , global    , 1 ),
403   REC_b( 314, normalize_grd_maps                      , global    , 0 ),
404   REC_b( 315, ray_blend_colors                        , global    , 0 ),
405   REC_f( 316, ray_blend_red                           , global    , 0.17F ),
406   REC_f( 317, ray_blend_green                         , global    , 0.25F ),
407   REC_f( 318, ray_blend_blue                          , global    , 0.14F ),
408   REC_f( 319, png_screen_gamma                        , global    , 2.4F ),
409   REC_f( 320, png_file_gamma                          , global    , 1.0F ),
410   REC_b( 321, editor_label_fragments                  , global    , 0 ),
411   REC_i( 322, internal_gui_control_size               , global    , 18 ),
412   REC_b( 323, auto_dss                                , global    , 1 ),
413   REC_i( 324, transparency_picking_mode               , ostate    , 2 ),        /* auto */
414   REC_i( 325, virtual_trackball                       , global    , 1 ),
415   /* 0/4 = no reformatting,
416      1   = pdb compliant,
417      2   = amber compliant,
418      3   = pdb I/O, but iupac inside
419      */
420   REC_i( 326, pdb_reformat_names_mode                 , global    , 0, 0, 4 ),
421   REC_f( 327, ray_pixel_scale                         , global    , 1.30F ),
422   REC_i( 328, label_font_id                           , ostate    , 5 ),
423   REC_b( 329, pdb_conect_all                          , global    , 0 ),
424   REC_s( 330, button_mode_name                        , global    , "" ),
425   REC_i( 331, surface_type                            , ostate    , 0 ),
426   REC_b( 332, dot_normals                             , ostate    , 1 ),
427   REC_b( 333, session_migration                       , global    , 1 ),
428   REC_b( 334, mesh_normals                            , ostate    , 1 ),
429   /* 0 = lines, 1 = points (, 2 = solid, 3 = gradient ) */
430   REC_i( 335, mesh_type                               , ostate    , 0, 0, 1 ),
431   REC_b( 336, dot_lighting                            , ostate    , 1 ),
432   REC_b( 337, mesh_lighting                           , ostate    , 0 ),
433   REC_b( 338, surface_solvent                         , ostate    , 0 ),
434   REC_i( 339, triangle_max_passes                     , global    , 5 ),
435   REC_f( 340, ray_interior_reflect                    , global    , 0.4F ),
436   REC_i( 341, internal_gui_mode                       , global    , 0 ),
437   REC_s( 342, surface_carve_selection                 , ostate    , "" ),
438   REC_i( 343, surface_carve_state                     , ostate    , 0 ),
439   REC_f( 344, surface_carve_cutoff                    , ostate    , 0.0F ),
440   REC_s( 345, surface_clear_selection                 , ostate    , "" ),
441   REC_i( 346, surface_clear_state                     , ostate    , 0 ),
442   REC_f( 347, surface_clear_cutoff                    , ostate    , 0.0F ),
443   REC_f( 348, surface_trim_cutoff                     , ostate    , 0.2F ),
444   REC_f( 349, surface_trim_factor                     , ostate    , 2.0F ),
445   REC_i( 350, ray_max_passes                          , global    , 25 ),
446   REC_b( 351, active_selections                       , global    , true ),
447   REC_f( 352, ray_transparency_contrast               , global    , 1.0F ),
448   REC_b( 353, seq_view                                , object    , 0 ),
449   REC_i( 354, mouse_selection_mode                    , global    , 1 ),
450   REC_i( 355, seq_view_label_spacing                  , object    , 5 ),
451   REC_i( 356, seq_view_label_start                    , object    , 1 ),
452   REC_i( 357, seq_view_format                         , object    , 0 ),
453   REC_i( 358, seq_view_location                       , global    , 0 ),
454   REC_b( 359, seq_view_overlay                        , global    , 0 ),
455   REC_b( 360, auto_classify_atoms                     , global    , 1 ),
456   REC_i( 361, cartoon_nucleic_acid_mode               , ostate    , 4 ),
457   REC_c( 362, seq_view_color                          , ostate    , "-1" ),
458   REC_i( 363, seq_view_label_mode                     , global    , 2 ),
459   REC_i( 364, surface_ramp_above_mode                 , ostate    , 0 ),
460   REC_b( 365, stereo                                  , global    , 0 ),
461   REC_i( 366, wizard_prompt_mode                      , global    , 1 ),
462   REC_f( 367, coulomb_cutoff                          , global    , 10.0F ),
463   REC_b( 368, slice_track_camera                      , object    , 0 ),
464   REC_f( 369, slice_height_scale                      , object    , 1.0F ),
465   REC_b( 370, slice_height_map                        , object    , 0 ),
466   REC_f( 371, slice_grid                              , object    , 0.3F ),
467   REC_b( 372, slice_dynamic_grid                      , object    , 0 ),
468   REC_f( 373, slice_dynamic_grid_resolution           , object    , 3.0F ),
469   REC_b( 374, pdb_insure_orthogonal                   , global    , 1 ),
470   REC_f( 375, ray_direct_shade                        , global    , 0.0F ),     /* only meaningful with one light source */
471   REC_c( 376, stick_color                             , bond      , "-1" ),
472   REC_f( 377, cartoon_putty_radius                    , ostate    , 0.40F ),
473   REC_f( 378, cartoon_putty_quality                   , ostate    , -1.F ),
474   REC_f( 379, cartoon_putty_scale_min                 , ostate    , 0.6F ),
475   REC_f( 380, cartoon_putty_scale_max                 , ostate    , 4.0F ),
476   REC_f( 381, cartoon_putty_scale_power               , ostate    , 1.5F ),
477   REC_f( 382, cartoon_putty_range                     , ostate    , 2.0F ),
478   REC_b( 383, cartoon_side_chain_helper               , atom      , 0 ),
479   REC_b( 384, surface_optimize_subsets                , ostate    , 1 ),
480   REC_i( 385, multiplex                               , global    , -1 ),
481   REC_b( 386, texture_fonts                           , unused    , 0 ),
482   REC_b( 387, pqr_no_chain_id                         , global    , 1 ),
483   REC_b( 388, animation                               , global    , 1 ),
484   REC_f( 389, animation_duration                      , global    , 0.75F ),
485   REC_i( 390, scene_animation                         , global    , -1 ),
486   REC_b( 391, line_stick_helper                       , ostate    , 1 ),
487   REC_i( 392, ray_orthoscopic                         , global    , -1 ),
488   REC_i( 393, ribbon_side_chain_helper                , atom      , 0 ),
489   REC_f( 394, selection_width_max                     , global    , 10.0F ),
490   REC_f( 395, selection_width_scale                   , global    , 2.0F ),
491   REC_s( 396, scene_current_name                      , global    , "" ),
492   REC_b( 397, presentation                            , global    , 0 ),
493   REC_i( 398, presentation_mode                       , global    , 1 ),
494   REC_b( 399, pdb_truncate_residue_name               , global    , false ),
495   REC_b( 400, scene_loop                              , global    , 0 ),
496   REC_i( 401, sweep_mode                              , global    , 0 ),
497   REC_f( 402, sweep_phase                             , global    , 0.0F ),
498   REC_b( 403, scene_restart_movie_delay               , global    , 1 ),
499   REC_b( 404, mouse_restart_movie_delay               , global    , 0 ),
500   REC_f( 405, angle_size                              , ostate    , 0.6666F ),
501   REC_f( 406, angle_label_position                    , ostate    , 0.5F ),
502   REC_f( 407, dihedral_size                           , ostate    , 0.6666F ),
503   REC_f( 408, dihedral_label_position                 , ostate    , 1.2F ),
504   REC_i( 409, defer_builds_mode                       , ostate    , 0 ),
505   REC_b( 410, seq_view_discrete_by_state              , object    , 1 ),
506   REC_f( 411, scene_animation_duration                , global    , 2.25F ),
507   REC_s( 412, wildcard                                , object    , "*" ),
508   REC_s( 413, atom_name_wildcard                      , object    , "" ),
509   REC_b( 414, ignore_case                             , global    , 1 ), // 0 in 1.8.0.[0-4]
510   REC_b( 415, presentation_auto_quit                  , global    , 1 ),
511   REC_b( 416, editor_auto_dihedral                    , global    , 1 ),
512   REC_b( 417, presentation_auto_start                 , global    , 1 ),
513   REC_b( 418, validate_object_names                   , global    , 1 ),
514   REC_b( 419, unused_boolean_def_true                 , unused    , 1 ),
515   REC_b( 420, auto_show_spheres                       , global    , 0 ),
516   REC_i( 421, sphere_mode                             , ostate    , 9, -1, 9 ),
517   REC_f( 422, sphere_point_max_size                   , ostate    , 18.0f ),
518   REC_f( 423, sphere_point_size                       , global    , 1.0f ),
519   REC_b( 424, pdb_honor_model_number                  , global    , false ),
520   REC_b( 425, rank_assisted_sorts                     , global    , true ),
521   REC_i( 426, ribbon_nucleic_acid_mode                , ostate    , 0 ),
522   REC_i( 427, cartoon_ring_mode                       , atom      , 0 ),
523   REC_f( 428, cartoon_ring_width                      , atom      , 0.125F ),
524   REC_c( 429, cartoon_ring_color                      , atom      , "-1" ),
525   REC_i( 430, cartoon_ring_finder                     , ostate    , 1 ),
526   REC_i( 431, cartoon_tube_cap                        , ostate    , 2 ),
527   REC_i( 432, cartoon_loop_cap                        , ostate    , 1 ),
528   REC_i( 433, nvidia_bugs                             , global    , 0 ),
529   REC_f( 434, image_dots_per_inch                     , global    , 0.0F ),
530   REC_b( 435, opaque_background                       , global    , 0 ),
531   REC_b( 436, draw_frames                             , global    , 0 ),
532   REC_b( 437, show_alpha_checker                      , global    , 1 ),
533   /* -1: automatic behavior based on implied intent
534       0: coordinates (pre-1.0 legacy default mode)
535       1: per-object matrices (TTTs: version 1.0 default mode?)
536       2: per-state matrices (partially implemented)
537       3: per-group matrices (may come in the future) */
538   REC_i( 438, matrix_mode                             , ostate    , -1, -1, 2 ),
539   REC_b( 439, editor_auto_origin                      , global    , 1 ),
540   REC_s( 440, session_file                            , global    , "" ),
541   REC_f( 441, cgo_transparency                        , ostate    , 0.0F ),
542   REC_b( 442, legacy_mouse_zoom                       , global    , 0 ),
543   REC_b( 443, auto_number_selections                  , global    , 0 ),
544   REC_i( 444, sculpt_vdw_vis_mode                     , ostate    , 0 ),
545   REC_f( 445, sculpt_vdw_vis_min                      , ostate    , -0.1F ),
546   REC_f( 446, sculpt_vdw_vis_mid                      , ostate    , 0.1F ),
547   REC_f( 447, sculpt_vdw_vis_max                      , ostate    , 0.3F ),
548   REC_i( 448, cartoon_ladder_mode                     , atom      , 1 ),
549   REC_f( 449, cartoon_ladder_radius                   , atom      , 0.25F ),
550   REC_c( 450, cartoon_ladder_color                    , atom      , "-1" ),
551   REC_c( 451, cartoon_nucleic_acid_color              , ostate    , "-1" ),
552   REC_f( 452, cartoon_ring_transparency               , ostate    , -1.0F ),
553   REC_f( 453, label_size                              , ostate    , 14.0F ),
554   REC_f( 454, spec_direct                             , global    , 0.0F ),
555   REC_i( 455, light_count                             , global    , 2, 1, 10 ),  /* 1: ambient, 2-8: directed */
556   REC_3( 456, light2                                  , global    , -0.55F, -0.7F, 0.15F ),
557   REC_3( 457, light3                                  , global    , 0.3F, -0.6F, -0.2F ),
558   REC_b( 458, hide_underscore_names                   , global    , 1 ),
559   REC_b( 459, selection_round_points                  , global    , 0 ),
560   REC_i( 460, distance_exclusion                      , global    , 5 ),
561   REC_i( 461, h_bond_exclusion                        , global    , 3 ),
562   REC_i( 462, label_shadow_mode                       , global    , 0 ),
563   REC_3( 463, light4                                  , global    , -1.2F, 0.3F, -0.2F ),
564   REC_3( 464, light5                                  , global    , 0.3F, 0.6F, -0.75F ),
565   REC_3( 465, light6                                  , global    , -0.3F, 0.5F, 0.0F ),
566   REC_3( 466, light7                                  , global    , 0.9F, -0.1F, -0.15F ),
567   REC_c( 467, label_outline_color                     , ostate    , "-1" ),
568   REC_i( 468, ray_trace_mode                          , global    , 0 ),
569   REC_f( 469, ray_trace_gain                          , global    , 0.12F ),
570   REC_b( 470, selection_visible_only                  , global    , 0 ),
571   REC_3( 471, label_position                          , astate    , 0.0F, 0.0F, 1.75F ),
572   REC_f( 472, ray_trace_depth_factor                  , global    , 0.1F ),
573   REC_f( 473, ray_trace_slope_factor                  , global    , 0.6F ),
574   REC_f( 474, ray_trace_disco_factor                  , global    , 0.05F ),
575   REC_f( 475, ray_shadow_decay_factor                 , global    , 0.0F ),
576   REC_i( 476, ray_interior_mode                       , global    , 0 ),
577   REC_f( 477, ray_legacy_lighting                     , global    , 0.0F ),
578   REC_b( 478, sculpt_auto_center                      , global    , 0 ),
579   REC_i( 479, pdb_discrete_chains                     , global    , -1 ),
580   REC_i( 480, pdb_unbond_cations                      , global    , 1 ),
581   REC_f( 481, sculpt_tri_scale                        , ostate    , 1.025F ),   /* allow for some play here... */
582   REC_f( 482, sculpt_tri_weight                       , ostate    , 1.0F ),
583   REC_i( 483, sculpt_tri_min                          , ostate    , 2 ),
584   REC_i( 484, sculpt_tri_max                          , ostate    , 18 ),
585   REC_i( 485, sculpt_tri_mode                         , ostate    , 0 ),
586   REC_s( 486, pdb_echo_tags                           , global    , "HEADER, TITLE, COMPND" ),
587   REC_b( 487, connect_bonded                          , global    , 0 ),
588   REC_f( 488, spec_direct_power                       , global    , 55.0F ),
589   REC_3( 489, light8                                  , global    , 1.3F, 2.0F, 0.8F ),
590   REC_3( 490, light9                                  , global    , -1.7F, -0.5F, 1.2F ),
591   REC_f( 491, ray_shadow_decay_range                  , global    , 1.8F ),
592   REC_i( 492, spec_count                              , global    , -1 ),
593   REC_f( 493, sculpt_min_scale                        , ostate    , 0.975F ),
594   REC_f( 494, sculpt_min_weight                       , ostate    , 0.75F ),
595   REC_f( 495, sculpt_min_min                          , ostate    , 4.0F ),
596   REC_f( 496, sculpt_min_max                          , ostate    , 12.0F ),
597   REC_f( 497, sculpt_max_scale                        , ostate    , 1.025F ),
598   REC_f( 498, sculpt_max_weight                       , ostate    , 0.75F ),
599   REC_f( 499, sculpt_max_min                          , ostate    , 4.0F ),
600   REC_f( 500, sculpt_max_max                          , ostate    , 12.0F ),
601   REC_i( 501, surface_circumscribe                    , ostate    , -1 ),
602   REC_f( 502, sculpt_avd_weight                       , ostate    , 4.0F ),
603   REC_f( 503, sculpt_avd_gap                          , ostate    , -1.0F ),
604   REC_f( 504, sculpt_avd_range                        , ostate    , -1.0F ),
605   REC_i( 505, sculpt_avd_excl                         , ostate    , 7 ),
606   REC_b( 506, async_builds                            , object    , 0 ),
607   REC_s( 507, fetch_path                              , global    , "." ),
608   REC_f( 508, cartoon_ring_radius                     , atom      , -1.0F ),
609   REC_b( 509, ray_color_ramps                         , ostate    , 0 ),
610   REC_f( 510, ray_hint_camera                         , global    , 2.15F ),
611   REC_f( 511, ray_hint_shadow                         , global    , 0.65F ),
612   REC_f( 512, stick_valence_scale                     , ostate    , 1.0F ),
613   REC_s( 513, seq_view_alignment                      , global    , "" ),
614   REC_i( 514, seq_view_unaligned_mode                 , global    , 0 ),
615   REC_c( 515, seq_view_unaligned_color                , global    , "-1" ),
616   REC_s( 516, seq_view_fill_char                      , global    , "-" ),
617   REC_c( 517, seq_view_fill_color                     , global    , "104" ),
618   REC_c( 518, seq_view_label_color                    , global    , "front" ),
619   REC_f( 519, surface_carve_normal_cutoff             , ostate    , -1.0F ),
620   REC_i( 520, trace_atoms_mode                        , ostate    , 5 ),
621   REC_b( 521, session_changed                         , global    , 0 ),
622   REC_b( 522, ray_clip_shadows                        , global    , 0 ),
623   REC_f( 523, mouse_wheel_scale                       , global    , 0.5F ),
624   REC_f( 524, nonbonded_transparency                  , atom      , 0.0F ),
625   REC_b( 525, ray_spec_local                          , global    , 0 ),
626   REC_c( 526, line_color                              , bond      , "-1" ),
627   REC_f( 527, ray_label_specular                      , global    , 1.0F ),
628   REC_i( 528, mesh_skip                               , ostate    , 0 ),
629   REC_i( 529, label_digits                            , ostate    , 1 ),
630   REC_i( 530, label_distance_digits                   , ostate    , -1 ),
631   REC_i( 531, label_angle_digits                      , ostate    , -1 ),
632   REC_i( 532, label_dihedral_digits                   , ostate    , -1 ),
633   REC_b( 533, surface_negative_visible                , object    , 0 ),
634   REC_c( 534, surface_negative_color                  , object    , "red" ),
635   REC_b( 535, mesh_negative_visible                   , object    , 0 ),
636   REC_c( 536, mesh_negative_color                     , object    , "red" ),
637   REC_i( 537, group_auto_mode                         , global    , 1 ),
638   REC_i( 538, group_full_member_names                 , global    , 0 ),
639   REC_f( 539, gradient_max_length                     , ostate    , 100.0F ),
640   REC_f( 540, gradient_min_length                     , ostate    , 2.0F ),
641   REC_f( 541, gradient_min_slope                      , ostate    , 0.00001F ),
642   REC_f( 542, gradient_normal_min_dot                 , ostate    , 0.70F ),
643   REC_f( 543, gradient_step_size                      , ostate    , 0.25F ),
644   REC_i( 544, gradient_spacing                        , ostate    , 3 ),
645   REC_f( 545, gradient_symmetry                       , ostate    , 0.0F ),
646   REC_c( 546, ray_trace_color                         , global    , "-6" ),
647   REC_b( 547, group_arrow_prefix                      , global    , 0 ),
648   REC_b( 548, suppress_hidden                         , global    , true ),
649   REC_b( 549, session_compression                     , global    , 0 ),
650   REC_f( 550, movie_fps                               , global    , 30.0f ),
651   REC_f( 551, ray_transparency_oblique                , global    , 0.0F ),
652   REC_f( 552, ray_trace_trans_cutoff                  , global    , 0.05F ),
653   REC_f( 553, ray_trace_persist_cutoff                , global    , 0.10F ),
654   REC_f( 554, ray_transparency_oblique_power          , global    , 4.0F ),
655   REC_f( 555, ray_scatter                             , global    , 0.0F ),
656   REC_b( 556, h_bond_from_proton                      , global    , 1 ),
657   REC_b( 557, auto_copy_images                        , global    , 0 ),
658   REC_i( 558, moe_separate_chains                     , global    , -1 ),
659   REC_b( 559, transparency_global_sort                , global    , 0 ),
660   REC_b( 560, hide_long_bonds                         , ostate    , 0 ),
661   REC_b( 561, auto_rename_duplicate_objects           , global    , 0 ),
662   REC_b( 562, pdb_hetatm_guess_valences               , global    , 1 ),
663   REC_i( 563, ellipsoid_quality                       , global    , 1 ),
664   REC_i( 564, cgo_ellipsoid_quality                   , global    , -1 ),
665   REC_b( 565, movie_animate_by_frame                  , global    , 0 ),
666   REC_b( 566, ramp_blend_nearby_colors                , global    , 0 ),
667   REC_i( 567, auto_defer_builds                       , global    , 500 ),      /* X or more states, then automatically defer builds */
668   REC_f( 568, ellipsoid_probability                   , ostate    , 0.5F ),
669   REC_f( 569, ellipsoid_scale                         , atom      , 1.0F ),
670   REC_c( 570, ellipsoid_color                         , atom      , "-1" ),
671   REC_f( 571, ellipsoid_transparency                  , atom      , 0.0F ),
672   REC_i( 572, movie_rock                              , global    , -1 ),
673   REC_i( 573, cache_mode                              , ostate    , 0 ),
674   REC_c( 574, dash_color                              , ostate    , "-1" ),
675   REC_c( 575, angle_color                             , ostate    , "-1" ),
676   REC_c( 576, dihedral_color                          , ostate    , "-1" ),
677   REC_i( 577, grid_mode                               , global    , 0, 0, 3 ),
678   REC_i( 578, cache_max                               , global    , 25000000 ), /* default: ~100 MB cache */
679   REC_i( 579, grid_slot                               , object    , -1 ),
680   REC_i( 580, grid_max                                , global    , -1 ),
681   REC_i( 581, cartoon_putty_transform                 , ostate    , cPuttyTransformNormalizedNonlinear ),
682   REC_b( 582, rock                                    , global    , 0 ),
683   REC_i( 583, cone_quality                            , global    , 18 ),
684   REC_b( 584, pdb_formal_charges                      , global    , 1 ),
685   REC_i( 585, ati_bugs                                , global    , 0 ),
686   REC_i( 586, geometry_export_mode                    , global    , 0 ),
687   REC_b( 587, mouse_grid                              , global    , 1 ),
688   REC_f( 588, mesh_cutoff                             , ostate    , 0.0F ),
689   REC_s( 589, mesh_carve_selection                    , ostate    , "" ),
690   REC_i( 590, mesh_carve_state                        , ostate    , 0 ),
691   REC_f( 591, mesh_carve_cutoff                       , ostate    , 0.0F ),
692   REC_s( 592, mesh_clear_selection                    , ostate    , "" ),
693   REC_i( 593, mesh_clear_state                        , ostate    , 0 ),
694   REC_f( 594, mesh_clear_cutoff                       , ostate    , 0.0F ),
695   REC_i( 595, mesh_grid_max                           , ostate    , 80 ),
696   REC_i( 596, session_cache_optimize                  , global    , 0 ),
697   REC_f( 597, sdof_drag_scale                         , global    , 0.5F ),
698   REC_i( 598, scene_buttons_mode                      , unused    , 1 ),
699   REC_b( 599, scene_buttons                           , global    , 1 ),
700   REC_b( 600, map_auto_expand_sym                     , object    , 1 ),
701   REC_b( 601, image_copy_always                       , global    , 0 ),
702   REC_i( 602, max_ups                                 , global    , 0 ),
703   REC_i( 603, auto_overlay                            , global    , 0 ),
704   REC_c( 604, stick_ball_color                        , ostate    , "-1" ),
705   REC_f( 605, stick_h_scale                           , ostate    , 0.4F ),
706   REC_f( 606, sculpt_pyra_inv_weight                  , ostate    , 10.0F ),
707   REC_b( 607, keep_alive                              , global    , 0 ),
708   REC_i( 608, fit_kabsch                              , global    , 0 ),
709   REC_f( 609, stereo_dynamic_strength                 , global    , 0.5F ),
710   REC_b( 610, dynamic_width                           , global    , 1 ),
711   REC_f( 611, dynamic_width_factor                    , global    , 0.06f ),
712   REC_f( 612, dynamic_width_min                       , global    , 0.75f ),
713   REC_f( 613, dynamic_width_max                       , global    , 2.5f ),
714   REC_i( 614, draw_mode                               , global    , 0 ),
715   REC_i( 615, clean_electro_mode                      , global    , 1 ),
716   REC_i( 616, valence_mode                            , ostate    , 1 ),
717   REC_b( 617, show_frame_rate                         , global    , 0 ),
718   REC_i( 618, movie_panel                             , global    , 1 ),
719   REC_f( 619, mouse_z_scale                           , global    , 1.0f ),
720   REC_b( 620, movie_auto_store                        , object    , -1 ),
721   REC_b( 621, movie_auto_interpolate                  , object    , 1 ),
722   REC_i( 622, movie_panel_row_height                  , global    , 15 ),
723   REC_i( 623, scene_frame_mode                        , global    , -1 ),
724   REC_i( 624, surface_cavity_mode                     , ostate    , 0 ),
725   REC_f( 625, surface_cavity_radius                   , ostate    , 7.0F ),
726   REC_f( 626, surface_cavity_cutoff                   , ostate    , -3.0F ),
727   REC_f( 627, motion_power                            , object    , 0.0F ),
728   REC_f( 628, motion_bias                             , object    , -1.0F ),
729   REC_i( 629, motion_simple                           , object    , 0 ),
730   REC_f( 630, motion_linear                           , object    , 0.0F ),
731   REC_i( 631, motion_hand                             , object    , 1 ),
732   REC_b( 632, pdb_ignore_conect                       , global    , 0 ),
733   REC_b( 633, editor_bond_cycle_mode                  , object    , 1 ),        /* >0 -> include aromatic */
734   REC_i( 634, movie_quality                           , global    , 90 ),
735   REC_s( 635, label_anchor                            , global    , "CA" ),
736   REC_s( 636, fetch_host                              , global    , "pdb" ),
737   REC_b( 637, dynamic_measures                        , object    , 1 ),
738   REC_f( 638, neighbor_cutoff                         , global    , 3.5F ),
739   REC_f( 639, heavy_neighbor_cutoff                   , global    , 3.5F ),
740   REC_f( 640, polar_neighbor_cutoff                   , global    , 3.5F ),
741   REC_f( 641, surface_residue_cutoff                  , global    , 2.5F ),
742   REC_b( 642, surface_use_shader                      , global    , 1 ),
743   REC_b( 643, cartoon_use_shader                      , global    , 1 ),
744   REC_b( 644, stick_use_shader                        , global    , 1 ),
745   REC_b( 645, line_use_shader                         , global    , 1 ),
746   REC_b( 646, sphere_use_shader                       , global    , 1 ),
747   REC_b( 647, use_shaders                             , ostate    , 0 ),
748   REC_b( 648, shaders_from_disk                       , global    , 0 ),
749   REC_i( 649, volume_bit_depth                        , object    , 16 ),
750   REC_c( 650, volume_color                            , unused    , "-1" ),
751   REC_f( 651, volume_layers                           , object    , 256.f ),
752   REC_f( 652, volume_data_range                       , object    , 5.0f ),
753   REC_i( 653, auto_defer_atom_count                   , global    , 0 ),
754   REC_s( 654, default_refmac_names                    , global    , "FWT PHWT DELFWT PHDELWT" ),
755   REC_s( 655, default_phenix_names                    , global    , "2FOFCWT PH2FOFCWT FOFCWT PHFOFCWT" ),
756   REC_s( 656, default_phenix_no_fill_names            , global    , "2FOFCWT_no_fill PH2FOFCWT_no_fill None None" ),
757   REC_s( 657, default_buster_names                    , global    , "2FOFCWT PH2FOFCWT FOFCWT PHFOFCWT" ),
758   REC_s( 658, default_fofc_map_rep                    , global    , "volume" ),
759   REC_s( 659, default_2fofc_map_rep                   , global    , "volume" ),
760   REC_s( 660, atom_type_format                        , global    , "mol2" ),
761   REC_b( 661, autoclose_dialogs                       , global    , 1 ),
762   REC_b( 662, bg_gradient                             , global    , 0 ),
763   REC_c( 663, bg_rgb_top                              , global    , "0x00004D" ),
764   REC_c( 664, bg_rgb_bottom                           , global    , "0x333380" ),
765   REC_b( 665, ray_volume                              , global    , 0 ),
766   REC_f( 666, ribbon_transparency                     , ostate    , 0.0F ),
767   REC_i( 667, state_counter_mode                      , object    , -1, -1, 2 ),        /* -1/1=as fraction; 0=off; 2=no fraction */
768   REC_b( 668, cgo_use_shader                          , global    , 1 ),
769   REC_b( 669, cgo_shader_ub_color                     , global    , 0 ),
770   REC_b( 670, cgo_shader_ub_normal                    , global    , 0 ),
771   REC_i( 671, cgo_lighting                            , object    , 1 ),
772   REC_b( 672, mesh_use_shader                         , global    , 1 ),
773   REC_i( 673, stick_debug                             , global    , 0 ),
774   REC_i( 674, cgo_debug                               , global    , 0 ),
775   REC_i( 675, stick_round_nub                         , ostate    , 0 ),
776   REC_i( 676, stick_good_geometry                     , ostate    , 0 ),
777   REC_b( 677, stick_as_cylinders                      , global    , 1 ),
778   REC_b( 678, mesh_as_cylinders                       , global    , 0 ),
779   REC_b( 679, line_as_cylinders                       , global    , 0 ),
780   REC_b( 680, ribbon_as_cylinders                     , global    , 0 ),
781   REC_b( 681, ribbon_use_shader                       , global    , 1 ),
782   REC_b( 682, excl_display_lists_shaders              , unused    , 0 ),
783   REC_b( 683, dash_use_shader                         , global    , 1 ),
784   REC_b( 684, dash_as_cylinders                       , global    , 1 ),
785   REC_b( 685, nonbonded_use_shader                    , global    , 1 ),
786   REC_b( 686, nonbonded_as_cylinders                  , global    , 0 ),
787   REC_b( 687, cylinders_shader_filter_faces           , unused    , 1 ),
788   REC_f( 688, nb_spheres_size                         , ostate    , 0.25f ),
789   REC_i( 689, nb_spheres_quality                      , ostate    , 1, 0, MAX_SPHERE_QUALITY ),
790   REC_i( 690, nb_spheres_use_shader                   , global    , 1, 0, 2 ),
791   REC_b( 691, render_as_cylinders                     , global    , 1 ),
792   REC_b( 692, alignment_as_cylinders                  , global    , 0 ),
793   /* 0 - none, 1 - just ladder, 2 - just strand, 3 - both ladder and strand */
794   REC_i( 693, cartoon_nucleic_acid_as_cylinders       , global    , 1, 0, 3 ),
795   REC_b( 694, cgo_shader_ub_flags                     , global    , 0 ),
796   REC_i( 695, antialias_shader                        , global    , 0 ),        /* 0 - none, 1 - fxaa, 2 - smaa */
797   REC_f( 696, offscreen_rendering_multiplier          , unused    , 4.f ),
798   REC_b( 697, cylinder_shader_ff_workaround           , unused    , 1 ),
799   REC_i( 698, surface_color_smoothing                 , global    , 1 ),
800   REC_f( 699, surface_color_smoothing_threshold       , global    , 0.05f ),
801   REC_b( 700, dot_use_shader                          , global    , 1 ),
802   REC_b( 701, dot_as_spheres                          , ostate    , 0 ),
803   REC_i( 702, ambient_occlusion_mode                  , ostate    , 0 ),
804   REC_f( 703, ambient_occlusion_scale                 , ostate    , 25.f ),
805   REC_i( 704, ambient_occlusion_smooth                , ostate    , 10 ),
806   REC_b( 705, smooth_half_bonds                       , global    , 1 ),
807   REC_i( 706, anaglyph_mode                           , global    , 4, 0, 4 ),  /* 0 = true; 1 = gray; 2 = color; 3 = half color; 4 = optimized */
808   REC_i( 707, edit_light                              , global    , 1 ),
809   REC_b( 708, suspend_undo                            , object    , 0 ),
810   REC_i( 709, suspend_undo_atom_count                 , global    , 1000 ),
811   REC_b( 710, suspend_deferred                        , global    , 0 ),
812   REC_b( 711, pick_surface                            , ostate    , 0 ),
813   REC_s( 712, bg_image_filename                       , global    , "" ),
814   /* 0 = streched; 1 = centered; 2 = tiled, 3 = centered&repeated */
815   REC_i( 713, bg_image_mode                           , global    , 0, 0, 3 ),
816   REC_3( 714, bg_image_tilesize                       , global    , 100.F, 100.F, 0.f ),     /* XY in pixels, Z unused */
817   REC_b( 715, bg_image_linear                         , global    , 1 ),
818   REC_s( 716, load_object_props_default               , global    , "*" ),
819   REC_s( 717, load_atom_props_default                 , global    , "*" ),
820   REC_3( 718, label_placement_offset                  , astate    , 0.f, 0.f, 0.f ),
821   REC_b( 719, pdb_conect_nodup                        , global    , 1 ),
822   REC_b( 720, label_connector                         , astate    , 0 ),
823   // 0 - line from target to closest corner/midpoint
824   // 1 - line from target to center (stops at bbx)
825   // 2 - 2 lines from target to bbx corner (with bend at label_connector_ext_length distance */
826   // 3 - line from target to closest corner or edge of bounds
827   // 4 - line from target to closest corner/midpoint
828   REC_i( 721, label_connector_mode                    , astate    , 0, 0, 4 ),
829   REC_c( 722, label_connector_color                   , astate    , "-6" ),
830   REC_f( 723, label_connector_width                   , astate    , 2.f ),
831   REC_f( 724, label_connector_ext_length              , astate    , 2.5f ),
832   REC_c( 725, label_bg_color                          , astate    , "-1" ),
833   REC_b( 726, use_geometry_shaders                    , global    , 1 ),
834   // 0 - world/label_position
835   // 1 - label_screen_point (-1. - 1.)
836   // 2 - label_screen_point (in pixels)
837   REC_i( 727, label_relative_mode                     , astate    , 0, 0, 2 ),
838   REC_3( 728, label_screen_point                      , astate    , 0.f, 0.f, 0.f ),
839   REC_f( 729, label_multiline_spacing                 , astate    , 1.2f ),
840   REC_f( 730, label_multiline_justification           , astate    , 1.f ),
841   REC_3( 731, label_padding                           , astate    , 0.2F, 0.2F, 0.0F ),
842   REC_f( 732, label_bg_transparency                   , astate    , .6f ),
843   REC_b( 733, label_bg_outline                        , astate    , 0 ),
844   REC_b( 734, ray_label_connector_flat                , astate    , 1 ),
845   REC_f( 735, dash_transparency                       , ostate    , 0.0f ),
846   REC_i( 736, pick_labels                             , ostate    , 1 ),
847   REC_i( 737, label_z_target                          , astate    , 0 ),
848   REC_b( 738, session_embeds_data                     , global    , 1 ),
849   REC_i( 739, volume_mode                             , global    , 1 ),
850   REC_b( 740, trilines                                , global    , 0 ),
851   REC_i( 741, collada_export_lighting                 , global    , 0 ),
852   REC_i( 742, collada_geometry_mode                   , global    , 0 ),
853   REC_b( 743, precomputed_lighting                    , global    , 0 ),
854   REC_i( 744, chromadepth                             , global    , 0 ),
855   REC_f( 745, pse_export_version                      , global    , 0.f ),
856   REC_b( 746, cif_use_auth                            , global    , 1 ),
857   REC_s( 747, assembly                                , global    , "" ),
858   REC_b( 748, cif_keepinmemory                        , global    , 0 ),
859   REC_b( 749, pse_binary_dump                         , global    , 0 ),
860   REC_i( 750, cartoon_gap_cutoff                      , ostate    , 10 ),
861   REC_b( 751, ignore_case_chain                       , global    , 0 ),
862   REC_f( 752, valence_zero_scale                      , ostate    , 0.2f ),
863   REC_i( 753, valence_zero_mode                       , ostate    , 1, 0, 2 ), // 0: skip, 1: dashed, 2: solid
864   REC_i( 754, auto_show_classified                    , global    , -1, -1, 3 ), // -1: auto, 0: off, 1: as, 2: show, 3: simple
865   REC_b( 755, collada_background_box                  , global    , 0 ),
866   REC_b( 756, pick32bit                               , global    , 1 ),
867   REC_b( 757, cartoon_all_alt                         , ostate    , 0 ),
868   REC_i( 758, display_scale_factor                    , global    , 1 ),
869   REC_b( 759, pick_shading                            , global    , 0 ),
870   REC_s( 760, fetch_type_default                      , global    , "cif" ),
871   REC_b( 761, editor_auto_measure                     , global    , 1 ),
872   REC_b( 762, surface_smooth_edges                    , ostate    , 1 ),
873   REC_i( 763, chem_comp_cartn_use                     , global    , 0 ),
874   REC_b( 764, colored_feedback                        , global    , 0 ),
875   REC_b( 765, sdf_write_zero_order_bonds              , global    , 0 ),
876   REC_b( 766, cif_metalc_as_zero_order_bonds          , global    , 0 ),
877   REC_i( 767, seq_view_gap_mode                       , global    , 1 ),
878   REC_i( 768, internal_gui_name_color_mode            , global    , 0, 0, 2 ),
879   REC_f( 769, openvr_gui_fov                          , global    , 35.0f, 0.0f, 89.0f ),
880   REC_f( 770, openvr_gui_alpha                        , global    , 1.0f, 0.0f, 1.0f ),
881   REC_i( 771, openvr_gui_use_alpha                    , global    , 0, 0, 2 ), // 0: off, 1: on, 2: depends (if not hit by laser)
882   REC_f( 772, openvr_gui_scene_color                  , global    , 0.0f ),
883   REC_f( 773, openvr_gui_scene_alpha                  , global    , 0.75f ),
884   REC_f( 774, openvr_gui_back_color                   , global    , 0.2f ),
885   REC_f( 775, openvr_gui_back_alpha                   , global    , 0.75f ),
886   REC_i( 776, openvr_gui_use_backdrop                 , global    , 0, 0, 2 ), // 0: off, 1: on, 2: depends (if hit by laser)
887   REC_i( 777, openvr_gui_overlay                      , global    , 0, 0, 2 ), // 0: off, 1: on, 2: depends (if hit by laser)
888   REC_i( 778, openvr_gui_text                         , global    , 0 ), // DOESN'T WORK YET ! 0: copy, 1: force, 2: only
889   REC_b( 779, openvr_disable_clipping                 , global    , false ), // turn on to disable clipping
890   REC_f( 780, openvr_near_plane                       , global    , 0.1f ),
891   REC_f( 781, openvr_far_plane                        , global    , 100.f ),
892   REC_b( 782, openvr_cut_laser                        , global    , false ), // turn on to enable tu cut laser for molecule picker
893   REC_f( 783, openvr_laser_width                      , global    , 3.0f ), // increase to make laser ray wider
894   REC_f( 784, openvr_gui_distance                     , global    , 1.5f ),
895 
896 
897 #ifdef SETTINGINFO_IMPLEMENTATION
898 #undef SETTINGINFO_IMPLEMENTATION
899 #else
900   // last item in enum, automatically equals last index + 1
901   cSetting_INIT
902 #endif
903 };
904 
905 #undef REC__
906 #undef REC_b
907 #undef REC_i
908 #undef REC_f
909 #undef REC_3
910 #undef REC_s
911 #undef REC_c
912