#include <Options.h>
Collaboration diagram for Options:

Public Member Functions | |
| Options () | |
| ~Options () | |
| double | get_d (option_double_t option) |
| long | get_l (option_long_t option) |
| const String | get_s (option_string_t option) |
| void | broadcast_opts () |
| void | log_all_options () |
| void | save_all_options_to_file (String filename, const bool as_default) |
| void | get_options_from_rtbrc () |
| void | read_options_file (String file_string, const bool as_default) |
| option_info_t< double > * | get_all_double_options () |
| option_info_t< long > * | get_all_long_options () |
| option_info_t< String > * | get_all_string_options () |
| option_return_t | get_option_from_string (const String &option_name) |
| OptionsWindow * | get_optionswindow_p () |
| bool | is_optionswindow_up () |
| void | open_optionswindow () |
| void | close_optionswindow () |
Private Attributes | |
| option_info_t< double > | all_double_options [LAST_DOUBLE_OPTION] |
| option_info_t< long > | all_long_options [LAST_LONG_OPTION] |
| option_info_t< String > | all_string_options [LAST_STRING_OPTION] |
| OptionsWindow * | optionswindow_p |
|
|
Definition at line 48 of file Options.cc. References _, all_double_options, all_long_options, all_string_options, bindtextdomain, optionswindow_p, and textdomain. 00049 {
00050 #ifdef HAVE_LOCALE_H
00051 setlocale( LC_MESSAGES, "" );
00052 setlocale( LC_NUMERIC, "POSIX" );
00053 #endif
00054 #ifdef RTB_LOCALEDIR
00055 bindtextdomain( "RealTimeBattle", RTB_LOCALEDIR );
00056 #else
00057 bindtextdomain( "RealTimeBattle", "/usr/local/share/locale" );
00058 #endif
00059 textdomain( "RealTimeBattle" );
00060
00061 // Entries are: entry_datatype, page in option,
00062 // default value, max value, min value,
00063 // max letters in entry,
00064 // broadcast option?, log option?, description
00065
00066 all_double_options[OPTION_GRAV_CONST] =
00067 option_info_t<double>(ENTRY_DOUBLE, PAGE_ENVIRONMENT, 9.82, 0.2, 20.0, 12,
00068 false, true, "Gravitational Constant",
00069 _("Gravitational Constant") );
00070
00071 all_double_options[OPTION_AIR_RESISTANCE] =
00072 option_info_t<double>(ENTRY_DOUBLE, PAGE_ENVIRONMENT, 0.005, 0.0, 1.0, 12,
00073 false, true, "Air resistance", _("Air resistance") );
00074
00075 all_double_options[OPTION_ROLL_FRICTION] =
00076 option_info_t<double>(ENTRY_DOUBLE, PAGE_ENVIRONMENT, 0.002, 0.0, 1.0, 12,
00077 false, true, "Roll friction", _("Roll friction") );
00078
00079 all_double_options[OPTION_SLIDE_FRICTION] =
00080 option_info_t<double>(ENTRY_DOUBLE, PAGE_ENVIRONMENT, 0.1, 0.0, 5.0, 12,
00081 false, true, "Slide/brake friction",
00082 _("Slide/brake friction") );
00083
00084 all_long_options[OPTION_SEND_ROBOT_COORDINATES] =
00085 option_info_t<long>(ENTRY_INT, PAGE_ENVIRONMENT, 0, 0, 2, 4,
00086 true, true, "Send robot coordinates",
00087 _("Send robot coordinates") );
00088
00089 all_double_options[OPTION_ROBOT_MAX_ACCELERATION] =
00090 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 2.0, 0.1, 10.0, 12,
00091 true, true, "Robot max acceleration",
00092 _("Robot max acceleration") );
00093
00094 all_double_options[OPTION_ROBOT_MIN_ACCELERATION] =
00095 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, -0.5, -10.0, 0.0, 12,
00096 true, true, "Robot min acceleration",
00097 _("Robot min acceleration") );
00098
00099 all_double_options[OPTION_ROBOT_RADIUS] =
00100 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.5, 0.1, 10.0, 12,
00101 false, true, "Robot radius", _("Robot radius") );
00102
00103 all_double_options[OPTION_ROBOT_MASS] =
00104 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 1.0, 0.01, 100.0, 12,
00105 false, true, "Robot mass", _("Robot mass") );
00106
00107 all_double_options[OPTION_ROBOT_BOUNCE_COEFF] =
00108 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.7, 0.0, 1.0, 12,
00109 false, true, "Robot bounce coefficient",
00110 _("Robot bounce coefficient") );
00111
00112 all_double_options[OPTION_ROBOT_HARDNESS] =
00113 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.5, 0.0, 1.0, 12,
00114 false, true, "Robot hardness coefficient",
00115 _("Robot hardness coefficient") );
00116
00117 all_double_options[OPTION_ROBOT_PROTECTION] =
00118 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.5, 0.0, 1.0, 12,
00119 false, true, "Robot protection coefficient",
00120 _("Robot protection coefficient") );
00121
00122 all_double_options[OPTION_ROBOT_FRONTSIZE] =
00123 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, M_PI/3.0, 0.0, M_PI*2.0, 12,
00124 false, true, "Robot frontsize [radians]",
00125 _("Robot frontsize [radians]") );
00126
00127 all_double_options[OPTION_ROBOT_FRONT_BOUNCE_COEFF] =
00128 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.7, 0.0, 1.0, 12,
00129 false, true, "Robot front bounce coefficient",
00130 _("Robot front bounce coefficient") );
00131
00132 all_double_options[OPTION_ROBOT_FRONT_HARDNESS] =
00133 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.9, 0.0, 1.0, 12,
00134 false, true, "Robot front hardness coefficient",
00135 _("Robot front hardness coefficient") );
00136
00137 all_double_options[OPTION_ROBOT_FRONT_PROTECTION] =
00138 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 0.9, 0.0, 1.0, 12,
00139 false, true, "Robot front protection coefficient",
00140 _("Robot front protection coefficient") );
00141
00142 all_double_options[OPTION_ROBOT_START_ENERGY] =
00143 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 100.0, 0.01, 10000.0, 12,
00144 true, true, "Robot start energy",
00145 _("Robot start energy") );
00146
00147 all_double_options[OPTION_ROBOT_MAX_ENERGY] =
00148 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 120.0, 0.01, 10000.0, 12,
00149 true, true, "Robot max energy",
00150 _("Robot max energy") );
00151
00152 all_double_options[OPTION_ROBOT_MAX_ROTATE] =
00153 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 2.0*M_PI / 8.0, 2.0*M_PI / 50.0,
00154 2.0*M_PI * 5.0, 12,
00155 true, true, "Robot max rotate speed [rad/s]",
00156 _("Robot max rotate speed [rad/s]") );
00157
00158 all_double_options[OPTION_ROBOT_CANNON_MAX_ROTATE] =
00159 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 2.0*M_PI / 4.0, 2.0*M_PI / 50.0,
00160 2.0*M_PI * 5.0, 12,
00161 true, true, "Robot cannon max rotate speed [rad/s]",
00162 _("Robot cannon max rotate speed [rad/s]") );
00163
00164 all_double_options[OPTION_ROBOT_RADAR_MAX_ROTATE] =
00165 option_info_t<double>(ENTRY_DOUBLE, PAGE_ROBOT, 2.0*M_PI / 3.0, 2.0*M_PI / 50.0,
00166 2.0*M_PI * 5.0, 12,
00167 true, true, "Robot radar max rotate speed [rad/s]",
00168 _("Robot radar max rotate speed [rad/s]") );
00169
00170 all_double_options[OPTION_CHECK_INTERVAL] =
00171 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 1.0, 0.01, 1000000, 12,
00172 false, false, "Process check interval",
00173 _("Process check interval") );
00174
00175 all_long_options[OPTION_ROBOT_ENERGY_LEVELS] =
00176 option_info_t<long>(ENTRY_INT, PAGE_ROBOT, 10, 1, 100, 4,
00177 true, true, "Robot energy levels", _("Robot energy levels") );
00178
00179 all_double_options[OPTION_SHOT_RADIUS] =
00180 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 0.1, 0.01, 1.0, 12,
00181 false, true, "Shot radius", _("Shot radius") );
00182
00183 all_double_options[OPTION_SHOT_SPEED] =
00184 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 10.0, 0.1, 100.0, 12,
00185 true, true, "Shot speed", _("Shot speed") );
00186
00187 all_double_options[OPTION_SHOOTING_PENALTY] =
00188 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 0.075, 0.0, 1.0, 12,
00189 false, true, "Shooting penalty (times shot energy)",
00190 _("Shooting penalty (times shot energy)") );
00191
00192 all_double_options[OPTION_SHOT_MIN_ENERGY] =
00193 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 0.5, 0.0, 100.0, 12,
00194 true, true, "Shot min energy", _("Shot min energy") );
00195
00196 all_double_options[OPTION_SHOT_MAX_ENERGY] =
00197 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 30.0, 0.0, 100000000.0, 12,
00198 true, true, "Shot max energy", _("Shot max energy") );
00199
00200 all_double_options[OPTION_SHOT_ENERGY_INCREASE_SPEED] =
00201 option_info_t<double>(ENTRY_DOUBLE, PAGE_SHOT, 10.0, 0.0, 100000000.0, 12,
00202 true, true, "Shot energy increase speed [energy/s]",
00203 _("Shot energy increase speed [energy/s]") );
00204
00205 all_long_options[OPTION_BACKGROUND_COLOUR] =
00206 option_info_t<long>(ENTRY_HEX, PAGE_MISC, 0xfaf0e6, 0x000000, 0xffffff, 6,
00207 false, false, "Background colour", _("Background colour") );
00208
00209 all_long_options[OPTION_FOREGROUND_COLOUR] =
00210 option_info_t<long>(ENTRY_HEX, PAGE_MISC, 0x000000, 0x000000, 0xffffff, 6,
00211 false, false, "Foreground colour", _("Foreground colour") );
00212
00213 all_long_options[OPTION_RTB_MESSAGE_COLOUR] =
00214 option_info_t<long>(ENTRY_HEX, PAGE_MISC, 0x1111ee, 0x000000, 0xffffff, 6,
00215 false, false, "Colour for RTB messages",
00216 _("Colour for RTB messages") );
00217
00218 all_double_options[OPTION_COOKIE_MAX_ENERGY] =
00219 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 15.0, 0.0, 100000000.0, 12,
00220 false, true, "Cookie max energy", _("Cookie max energy") );
00221
00222 all_double_options[OPTION_COOKIE_MIN_ENERGY] =
00223 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 10.0, 0.0, 100000000.0, 12,
00224 false, true, "Cookie min energy", _("Cookie min energy") );
00225
00226 all_double_options[OPTION_COOKIE_FREQUENCY] =
00227 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 0.03, 0.0, 100000000.0, 12,
00228 false, true, "Cookie frequency [cookies per second]",
00229 _("Cookie frequency [cookies per second]") );
00230
00231 all_double_options[OPTION_COOKIE_RADIUS] =
00232 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 0.3, 0.01, 1.0, 12,
00233 false, true, "Cookie radius", _("Cookie radius") );
00234
00235 all_long_options[OPTION_COOKIE_COLOUR] =
00236 option_info_t<long>(ENTRY_HEX, PAGE_EXTRAS, 0x35d715, 0x000000, 0xffffff, 6,
00237 false, false, "Cookie colour", _("Cookie colour") );
00238
00239 all_double_options[OPTION_MINE_MAX_ENERGY] =
00240 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 25.0, 0.0, 100000000.0, 12,
00241 false, true, "Mine max energy", _("Mine max energy") );
00242
00243 all_double_options[OPTION_MINE_MIN_ENERGY] =
00244 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 15.0, 0.0, 100000000.0, 12,
00245 false, true, "Mine min energy", _("Mine min energy") );
00246
00247 all_double_options[OPTION_MINE_FREQUENCY] =
00248 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 0.06, 0.0, 100000000.0, 12,
00249 false, true, "Mine frequency [mines per second]",
00250 _("Mine frequency [mines per second]") );
00251
00252 all_double_options[OPTION_MINE_RADIUS] =
00253 option_info_t<double>(ENTRY_DOUBLE, PAGE_EXTRAS, 0.3, 0.01, 1.0, 12,
00254 false, true, "Mine radius", _("Mine radius") );
00255
00256 all_long_options[OPTION_MINE_COLOUR] =
00257 option_info_t<long>(ENTRY_HEX, PAGE_EXTRAS, 0xff0000, 0x000000, 0xffffff, 6,
00258 false, false, "Mine colour", _("Mine colour") );
00259
00260 all_double_options[OPTION_ARENA_SCALE] =
00261 option_info_t<double>(ENTRY_DOUBLE, PAGE_MISC, 1.0, 0.001, 1000, 12,
00262 false, true, "Arena scale", _("Arena scale") );
00263
00264 all_double_options[OPTION_FAST_FORWARD_FACTOR] =
00265 option_info_t<double>(ENTRY_DOUBLE, PAGE_MISC, 5.0, 0.001, 1000, 12,
00266 false, false, "Fast forward factor",
00267 _("Fast forward factor") );
00268
00269 all_double_options[OPTION_TIMEOUT] =
00270 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 120.0, 1.0, 100000000.0, 12,
00271 false, true, "Timeout [s]", _("Timeout [s]") );
00272
00273 all_double_options[OPTION_MAX_TIMESTEP] =
00274 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 0.1, 0.001, 1.0, 12,
00275 false, false, "Max timestep", _("Max timestep") );
00276
00277 all_double_options[OPTION_TIMESCALE] =
00278 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 1.0, 0.01, 100.0, 12,
00279 false, false, "Timescale", _("Timescale") );
00280
00281 all_double_options[OPTION_UPDATE_INTERVAL] =
00282 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 0.050, 0.010, 1.0, 12,
00283 false, false, "Update interval [s]",
00284 _("Update interval [s]") );
00285
00286 all_double_options[OPTION_ROBOT_STARTUP_TIME] =
00287 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 1.0, 0.050, 1000000.0, 12,
00288 false, false, "Robot startup time [s]",
00289 _("Robot startup time [s]") );
00290
00291 all_double_options[OPTION_CPU_START_LIMIT] =
00292 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 5.0, 0.01, 100000000.0, 12,
00293 false, false, "Start CPU time [s]", _("Start CPU time [s]") );
00294
00295 all_double_options[OPTION_CPU_EXTRA] =
00296 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 2.5, 0.01, 100000000.0, 12,
00297 false, false, "Extra CPU time [s]", _("Extra CPU time [s]") );
00298
00299 all_double_options[OPTION_CPU_PERIOD] =
00300 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 60.0, 1.0, 100000000.0, 12,
00301 false, false, "Extra CPU period [s]",
00302 _("Extra CPU period [s]") );
00303
00304 all_double_options[OPTION_CPU_WARNING_PERCENT] =
00305 option_info_t<double>(ENTRY_DOUBLE, PAGE_TIME, 0.9, 0.1, 1.0, 12,
00306 false, false, "CPU time warning percentage",
00307 _("CPU time warning percentage") );
00308
00309 all_long_options[OPTION_LOG_EVERY_NTH_UPDATE_INTERVAL] =
00310 option_info_t<long>(ENTRY_INT, PAGE_TIME, 1, 1, 1000, 5,
00311 false, false, "Logging frequency [Each nth update interval]",
00312 _("Logging frequency [Each n:th update interval]") );
00313
00314 all_long_options[OPTION_MAX_ROBOTS_ALLOWED] =
00315 option_info_t<long>(ENTRY_INT, PAGE_MISC, 120, 1, 10000, 6, false, false,
00316 "Max robots allowed simultaneously",
00317 _("Max robots allowed simultaneously") );
00318
00319 all_string_options[OPTION_ROBOT_SEARCH_PATH] =
00320 option_info_t<String>(ENTRY_CHAR, PAGE_MISC, "", "", "", 1000,
00321 false, false, "Robot search path", _("Robot search path") );
00322
00323 all_string_options[OPTION_ARENA_SEARCH_PATH] =
00324 option_info_t<String>(ENTRY_CHAR, PAGE_MISC, "", "", "", 1000,
00325 false, false, "Arena search path", _("Arena search path") );
00326
00327 all_string_options[OPTION_TMP_RTB_DIR] =
00328 option_info_t<String>(ENTRY_CHAR, PAGE_MISC, "/tmp/rtb", "", "", 1000,
00329 false, false, "Directory for temporary files",
00330 _("Directory for temporary files") );
00331
00332 all_long_options[OPTION_ARENA_WINDOW_SIZE_X] =
00333 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 350, 185, 10000, 6,
00334 false, false, "Initial Arena window width",
00335 _("Initial Arena window width") );
00336
00337 all_long_options[OPTION_ARENA_WINDOW_SIZE_Y] =
00338 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 350, 120, 10000, 6,
00339 false, false, "Initial Arena window height",
00340 _("Initial Arena window height") );
00341
00342 all_long_options[OPTION_ARENA_WINDOW_POS_X] =
00343 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00344 false, false, "Initial Arena window x position",
00345 _("Initial Arena window x position") );
00346
00347 all_long_options[OPTION_ARENA_WINDOW_POS_Y] =
00348 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00349 false, false, "Initial Arena window y position",
00350 _("Initial Arena window y position") );
00351
00352 all_long_options[OPTION_CONTROL_WINDOW_POS_X] =
00353 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00354 false, false, "Initial Control window x position",
00355 _("Initial Control window x position") );
00356
00357 all_long_options[OPTION_CONTROL_WINDOW_POS_Y] =
00358 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00359 false, false, "Initial Control window y position",
00360 _("Initial Control window y position") );
00361
00362 all_long_options[OPTION_MESSAGE_WINDOW_SIZE_X] =
00363 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 394, 300, 10000, 6,
00364 false, false, "Initial Message window width",
00365 _("Initial Message window width") );
00366
00367 all_long_options[OPTION_MESSAGE_WINDOW_SIZE_Y] =
00368 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 210, 110, 10000, 6,
00369 false, false, "Initial Message window height",
00370 _("Initial Message window height") );
00371
00372 all_long_options[OPTION_MESSAGE_WINDOW_POS_X] =
00373 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00374 false, false, "Initial Message window x position",
00375 _("Initial Message window x position") );
00376
00377 all_long_options[OPTION_MESSAGE_WINDOW_POS_Y] =
00378 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00379 false, false, "Initial Message window y position",
00380 _("Initial Message window y position") );
00381
00382 all_long_options[OPTION_SCORE_WINDOW_SIZE_X] =
00383 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 394, 175, 10000, 6,
00384 false, false, "Initial Score window width",
00385 _("Initial Score window width") );
00386
00387 all_long_options[OPTION_SCORE_WINDOW_SIZE_Y] =
00388 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 374, 80, 10000, 6,
00389 false, false, "Initial Score window height",
00390 _("Initial Score window height") );
00391
00392 all_long_options[OPTION_SCORE_WINDOW_POS_X] =
00393 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00394 false, false, "Initial Score window x position",
00395 _("Initial Score window x position") );
00396
00397 all_long_options[OPTION_SCORE_WINDOW_POS_Y] =
00398 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 0, 0, 10000, 6,
00399 false, false, "Initial Score window y position",
00400 _("Initial Score window y position") );
00401
00402 all_long_options[OPTION_STATISTICS_WINDOW_SIZE_X] =
00403 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 499, 320, 10000, 6,
00404 false, false, "Initial Statistics window width",
00405 _("Initial Statistics window width") );
00406
00407 all_long_options[OPTION_STATISTICS_WINDOW_SIZE_Y] =
00408 option_info_t<long>(ENTRY_INT, PAGE_SIZE_OF_WINDOWS, 428, 130, 10000, 6,
00409 false, false, "Initial Statistics window height",
00410 _("Initial Statistics window height") );
00411
00412 #ifndef NO_GRAPHICS
00413 optionswindow_p = NULL;
00414 #endif
00415 }
|
|
|
Definition at line 214 of file Options.h. 00214 {}
|
|
|
Definition at line 418 of file Options.cc. References DEBUG_LEVEL, GAME_OPTION, get_d(), get_l(), OPTION_ROBOT_CANNON_MAX_ROTATE, OPTION_ROBOT_ENERGY_LEVELS, OPTION_ROBOT_MAX_ACCELERATION, OPTION_ROBOT_MAX_ENERGY, OPTION_ROBOT_MAX_ROTATE, OPTION_ROBOT_MIN_ACCELERATION, OPTION_ROBOT_RADAR_MAX_ROTATE, OPTION_ROBOT_START_ENERGY, OPTION_SEND_ROBOT_COORDINATES, OPTION_SHOT_ENERGY_INCREASE_SPEED, OPTION_SHOT_MAX_ENERGY, OPTION_SHOT_MIN_ENERGY, OPTION_SHOT_SPEED, OPTION_TIMEOUT, realtime_arena, ROBOT_CANNON_MAX_ROTATE, ROBOT_ENERGY_LEVELS, ROBOT_MAX_ACCELERATION, ROBOT_MAX_ENERGY, ROBOT_MAX_ROTATE, ROBOT_MIN_ACCELERATION, ROBOT_RADAR_MAX_ROTATE, ROBOT_START_ENERGY, SEND_ROBOT_COORDINATES, SHOT_ENERGY_INCREASE_SPEED, SHOT_MAX_ENERGY, SHOT_MIN_ENERGY, SHOT_SPEED, the_arena, and TIMEOUT. Referenced by ArenaRealTime::start_game(). 00419 {
00420 realtime_arena.broadcast( GAME_OPTION, ROBOT_MAX_ROTATE, get_d(OPTION_ROBOT_MAX_ROTATE));
00421 realtime_arena.broadcast( GAME_OPTION, ROBOT_CANNON_MAX_ROTATE, get_d(OPTION_ROBOT_CANNON_MAX_ROTATE));
00422 realtime_arena.broadcast( GAME_OPTION, ROBOT_RADAR_MAX_ROTATE, get_d(OPTION_ROBOT_RADAR_MAX_ROTATE));
00423
00424 realtime_arena.broadcast( GAME_OPTION, ROBOT_MAX_ACCELERATION, get_d(OPTION_ROBOT_MAX_ACCELERATION));
00425 realtime_arena.broadcast( GAME_OPTION, ROBOT_MIN_ACCELERATION, get_d(OPTION_ROBOT_MIN_ACCELERATION));
00426
00427 realtime_arena.broadcast( GAME_OPTION, ROBOT_START_ENERGY, get_d(OPTION_ROBOT_START_ENERGY));
00428 realtime_arena.broadcast( GAME_OPTION, ROBOT_MAX_ENERGY, get_d(OPTION_ROBOT_MAX_ENERGY));
00429 realtime_arena.broadcast( GAME_OPTION, ROBOT_ENERGY_LEVELS, (double)get_l(OPTION_ROBOT_ENERGY_LEVELS));
00430
00431 realtime_arena.broadcast( GAME_OPTION, SHOT_SPEED, get_d(OPTION_SHOT_SPEED));
00432 realtime_arena.broadcast( GAME_OPTION, SHOT_MIN_ENERGY, get_d(OPTION_SHOT_MIN_ENERGY));
00433 realtime_arena.broadcast( GAME_OPTION, SHOT_MAX_ENERGY, get_d(OPTION_SHOT_MAX_ENERGY));
00434 realtime_arena.broadcast( GAME_OPTION, SHOT_ENERGY_INCREASE_SPEED, get_d(OPTION_SHOT_ENERGY_INCREASE_SPEED));
00435
00436 realtime_arena.broadcast( GAME_OPTION, TIMEOUT, get_d(OPTION_TIMEOUT));
00437
00438 realtime_arena.broadcast( GAME_OPTION, DEBUG_LEVEL, (double)the_arena.get_debug_level());
00439 realtime_arena.broadcast( GAME_OPTION, SEND_ROBOT_COORDINATES, (double)get_l(OPTION_SEND_ROBOT_COORDINATES));
00440 }
|
Here is the call graph for this function:

|
|
Definition at line 663 of file Options.cc. References optionswindow_p. Referenced by OptionsWindow::cancel(), OptionsWindow::delete_event_occured(), and OptionsWindow::ok(). 00664 {
00665 if( NULL != optionswindow_p )
00666 {
00667 delete optionswindow_p;
00668 optionswindow_p = NULL;
00669 }
00670 }
|
|
|
Definition at line 235 of file Options.h. Referenced by OptionsWindow::default_opts(), OptionsWindow::OptionsWindow(), ArenaReplay::parse_log_line(), OptionsWindow::set_all_options(), and OptionsWindow::update_all_gtk_entries(). 00235 { return all_double_options; }
|
|
|
Definition at line 236 of file Options.h. Referenced by OptionsWindow::default_opts(), OptionsWindow::grab_windows(), OptionsWindow::OptionsWindow(), ArenaReplay::parse_log_line(), OptionsWindow::set_all_options(), and OptionsWindow::update_all_gtk_entries(). 00236 { return all_long_options; }
|
|
|
Definition at line 237 of file Options.h. Referenced by OptionsWindow::default_opts(), OptionsWindow::OptionsWindow(), ArenaReplay::parse_log_line(), OptionsWindow::set_all_options(), and OptionsWindow::update_all_gtk_entries(). 00237 { return all_string_options; }
|
|
|
|
Definition at line 219 of file Options.h. Referenced by broadcast_opts(), main(), Gui::open_arenawindow(), Gui::open_messagewindow(), Gui::open_scorewindow(), Gui::open_statisticswindow(), StartTournamentWindow::save_tournament_file(), Gui::set_colours(), StartTournamentWindow::set_entry(), Shape::Shape(), StartTournamentWindow::start(), ArenaRealTime::update(), Robot::update_radar_and_cannon(), and ArenaRealTime::update_robots(). 00220 { return all_long_options[option].value; }
|
|
|
Definition at line 614 of file Options.cc. References all_double_options, all_long_options, all_string_options, ENTRY_CHAR, ENTRY_DOUBLE, ENTRY_INT, and option_info_t< T >::label. Referenced by ArenaReplay::parse_log_line(). 00615 {
00616 option_return_t result( ENTRY_INT, -1 );
00617
00618 for( int i=0; i<LAST_DOUBLE_OPTION; i++ )
00619 if( option_name == all_double_options[i].label )
00620 result = option_return_t( ENTRY_DOUBLE, i );
00621 for( int i=0; i<LAST_LONG_OPTION; i++ )
00622 if( option_name == all_long_options[i].label )
00623 result = option_return_t( all_long_options[i].datatype, i );
00624 for( int i=0; i<LAST_STRING_OPTION; i++ )
00625 if( option_name == all_string_options[i].label )
00626 result = option_return_t( ENTRY_CHAR, i );
00627
00628 return result;
00629 }
|
|
|
Definition at line 471 of file Options.cc. References read_options_file(). Referenced by parse_command_line(). 00472 {
00473 char* home_dir;
00474 if( NULL == ( home_dir = getenv("HOME") ) )
00475 return;
00476
00477 String resource_file = String(home_dir) + "/.rtbrc";
00478 read_options_file(resource_file,true);
00479 }
|
Here is the call graph for this function:

|
|
Definition at line 242 of file Options.h. 00243 { return optionswindow_p; }
|
|
|
Definition at line 221 of file Options.h. Referenced by create_tmp_rtb_dir(), Robot::get_default_non_blocking_state(), read_dirs_from_system(), Robot::set_non_blocking_state(), StartTournamentWindow::start(), and StartTournamentWindow::StartTournamentWindow(). 00222 { return all_string_options[option].value.chars(); }
|
|
|
Definition at line 634 of file Options.cc. Referenced by save_all_options_to_file(). 00635 {
00636 if( NULL == optionswindow_p )
00637 return false;
00638
00639 return true;
00640 }
|
|
|
Definition at line 443 of file Options.cc. References all_double_options, all_long_options, all_string_options, option_info_t< T >::datatype, option_info_t< T >::log_option, and realtime_arena. Referenced by ArenaRealTime::start_tournament(). 00444 {
00445 for(int i=0;i<LAST_DOUBLE_OPTION;i++)
00446 if( all_double_options[i].log_option )
00447 realtime_arena.print_to_logfile( 'O', (int)'D',
00448 (all_double_options[i].label + ":").chars(),
00449 all_double_options[i].value );
00450
00451 for(int i=0;i<LAST_LONG_OPTION;i++)
00452 if( all_long_options[i].log_option )
00453 {
00454 if( all_long_options[i].datatype == ENTRY_INT )
00455 realtime_arena.print_to_logfile( 'O', (int)'L',
00456 (all_long_options[i].label + ":").chars(),
00457 all_long_options[i].value );
00458 if( all_long_options[i].datatype == ENTRY_HEX )
00459 realtime_arena.print_to_logfile( 'O', (int)'H',
00460 (all_long_options[i].label + ":").chars(),
00461 all_long_options[i].value );
00462 }
00463 for(int i=0;i<LAST_STRING_OPTION;i++)
00464 if( all_string_options[i].log_option )
00465 realtime_arena.print_to_logfile( 'O', (int)'S',
00466 (all_string_options[i].label + ":").chars(),
00467 all_string_options[i].value.chars() );
00468 }
|
|
|
Definition at line 643 of file Options.cc. References ArenaController::is_started(), NO_STATE, NOT_STARTED, optionswindow_p, the_arena, and the_arena_controller. Referenced by ControlWindow::options_clicked(). 00644 {
00645 bool allowed = false;
00646
00647 if( the_arena_controller.is_started() )
00648 {
00649 if( ( the_arena.get_game_mode() == ArenaBase::COMPETITION_MODE &&
00650 ( the_arena.get_state() == NO_STATE ||
00651 the_arena.get_state() == NOT_STARTED ||
00652 the_arena.get_state() == FINISHED ) ) ||
00653 ( the_arena.get_game_mode() != ArenaBase::COMPETITION_MODE ) )
00654 allowed = true;
00655 }
00656 if( ( !the_arena_controller.is_started() || allowed ) &&
00657 NULL == optionswindow_p )
00658 optionswindow_p =
00659 new OptionsWindow( -1, -1, -1, -1 );
00660 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 482 of file Options.cc. References all_double_options, all_long_options, all_string_options, String::chars(), option_info_t< T >::datatype, option_info_t< T >::default_value, get_segment(), option_info_t< T >::label, max, min, str2hex(), and option_info_t< T >::value. Referenced by get_options_from_rtbrc(), OptionsWindow::load_options(), and parse_command_line(). 00483 {
00484 ifstream file(file_string.chars());
00485 if( !file )
00486 return;
00487
00488 for(;;)
00489 {
00490 char temp;
00491 char buffer[1000];
00492 bool option_found_flag = false;
00493
00494 file >> ws;
00495 file.get(buffer,100,':');
00496 file.get(temp);
00497 String option_name(buffer);
00498 if(option_name == "")
00499 break;
00500
00501 for(int i=0;i<LAST_DOUBLE_OPTION;i++)
00502 if(option_name == all_double_options[i].label )
00503 {
00504 double option_value;
00505 file >> option_value;
00506 //file.get(buffer,100,'\n');
00507 option_value = min( option_value,
00508 all_double_options[i].max_value );
00509 option_value = max( option_value,
00510 all_double_options[i].min_value );
00511 all_double_options[i].value = option_value;
00512 if(as_default)
00513 all_double_options[i].default_value = option_value;
00514 option_found_flag = true;
00515
00516 }
00517
00518 for(int i=0;i<LAST_LONG_OPTION;i++)
00519 if(option_name == all_long_options[i].label )
00520 {
00521 long option_value = 0;
00522 if( all_long_options[i].datatype == ENTRY_INT )
00523 file >> option_value;
00524 if( all_long_options[i].datatype == ENTRY_HEX )
00525 {
00526 String temp_string;
00527 file >> temp_string;
00528
00529 while( temp_string[0] == ' ' )
00530 temp_string = get_segment(temp_string,1,-1);
00531 option_value = str2hex(temp_string);
00532 }
00533 //file.get(buffer,100,'\n');
00534 option_value = min( option_value,
00535 all_long_options[i].max_value );
00536 option_value = max( option_value,
00537 all_long_options[i].min_value );
00538 all_long_options[i].value = option_value;
00539 if(as_default)
00540 all_long_options[i].default_value = option_value;
00541 option_found_flag = true;
00542 }
00543
00544 for(int i=0;i<LAST_STRING_OPTION;i++)
00545 if(option_name == all_string_options[i].label )
00546 {
00547 String option_value;
00548 file >> option_value;
00549 while( option_value[0] == ' ' )
00550 option_value = get_segment(option_value,1,-1);
00551 //file.get(buffer,100,'\n');
00552 all_string_options[i].value = option_value;
00553 if(as_default)
00554 all_string_options[i].default_value = option_value;
00555 option_found_flag = true;
00556 }
00557 // if(!option_found_flag)
00558 // file.get(buffer,1000,'\n');
00559
00560 }
00561 }
|
Here is the call graph for this function:

|
||||||||||||
|
Definition at line 564 of file Options.cc. References all_double_options, all_long_options, all_string_options, String::chars(), option_info_t< T >::datatype, hex2str(), is_optionswindow_up(), option_info_t< T >::label, no_graphics, optionswindow_p, OptionsWindow::set_all_options(), and option_info_t< T >::value. Referenced by OptionsWindow::save_def(), and OptionsWindow::save_options(). 00565 {
00566 if(as_default)
00567 {
00568 char* home_dir;
00569 if( NULL == ( home_dir = getenv("HOME") ) )
00570 return;
00571
00572 filename = String(home_dir) + "/.rtbrc";
00573 }
00574
00575 ofstream file(filename.chars(), ios::out);
00576
00577 if( !file )
00578 {
00579 cerr << "Couldn't open save file" << endl;
00580 return;
00581 }
00582
00583 #ifndef NO_GRAPHICS
00584 if( !no_graphics && is_optionswindow_up() )
00585 optionswindow_p->set_all_options();
00586 #endif
00587
00588 for(int i=0;i<LAST_DOUBLE_OPTION;i++){
00589 file << all_double_options[i].label << ": " << all_double_options[i].value << endl;
00590 //cout << all_double_options[i].label << ": " << all_double_options[i].value << endl;
00591 }
00592
00593
00594 for(int i=0;i<LAST_LONG_OPTION;i++)
00595 {
00596 if(all_long_options[i].datatype == ENTRY_INT){
00597 file << all_long_options[i].label << ": " << all_long_options[i].value << endl;
00598 //cout << all_long_options[i].label << ": " << all_long_options[i].value << endl;
00599 }
00600
00601 if(all_long_options[i].datatype == ENTRY_HEX){
00602 file << all_long_options[i].label << ": " << hex2str(all_long_options[i].value) << endl;
00603 //cout << all_long_options[i].label << ": " << hex2str(all_long_options[i].value) << endl;
00604 }
00605 }
00606
00607 for(int i=0;i<LAST_STRING_OPTION;i++){
00608 file << all_string_options[i].label << ": " << all_string_options[i].value << endl;
00609 //cout << all_string_options[i].label << ": " << all_string_options[i].value << endl;
00610 }
00611 }
|
Here is the call graph for this function:

|
|
Definition at line 250 of file Options.h. Referenced by get_option_from_string(), log_all_options(), Options(), read_options_file(), and save_all_options_to_file(). |
|
|
Definition at line 251 of file Options.h. Referenced by get_option_from_string(), log_all_options(), Options(), read_options_file(), and save_all_options_to_file(). |
|
|
Definition at line 253 of file Options.h. Referenced by get_option_from_string(), log_all_options(), Options(), read_options_file(), and save_all_options_to_file(). |
|
|
Definition at line 257 of file Options.h. Referenced by close_optionswindow(), open_optionswindow(), Options(), and save_all_options_to_file(). |
1.3.9.1