📄 serversettings.cpp
字号:
// and send intervals dVisibleDistance = 3.0; // visible_distance: distance within which objects // are always 'visible' even when not in view cone) dExtraStamina = 0.0; // extra_stamina: extra stamina for heterogeneous // player // penalty parameters dPenDistX = 11.0; // pen_dist_x: distance ball from goal dPenMaxGoalieDistX = 4.0; // pen_goalie_max_dist_x: maximum distance // for goalie during penalties bPenAllowMultKicks = false; // pen_allow_mult_kicks: can penalty // kicker kick multiple times // tackle parameters dTackleDist = 2.0; // tackle_dist: allowed distance in front dTackleBackDist = 0.5; // tackle_back_dist: allowed distance back dTackleWidth = 1.0; // tackle_width: allowed distance side dTackleExponent = 6; // tackle_exponent: exponent need iTackleCycles = 10; // tackle_cycles: cycles immobile dTacklePowerRate = 0.027; // tackle_power_rate: power rate tackle // parameters which depend on other values dMaximalKickDist = dKickableMargin + // the maximum distance from a player dPlayerSize + // for which the ball is kickable dBallSize; // add all the settings, i.e. each parameter // becomes a new generic value for the class // goal-related parameters addSetting( "goal_width" , &dGoalWidth , GENERIC_VALUE_DOUBLE ); // player-related parameters addSetting( "player_size" , &dPlayerSize , GENERIC_VALUE_DOUBLE ); addSetting( "player_decay" , &dPlayerDecay , GENERIC_VALUE_DOUBLE ); addSetting( "player_rand" , &dPlayerRand , GENERIC_VALUE_DOUBLE ); addSetting( "player_weight" , &dPlayerWeight , GENERIC_VALUE_DOUBLE ); addSetting( "player_speed_max" , &dPlayerSpeedMax , GENERIC_VALUE_DOUBLE ); addSetting( "player_accel_max" , &dPlayerAccelMax , GENERIC_VALUE_DOUBLE ); // stamina-related parameters addSetting( "stamina_max" , &dStaminaMax , GENERIC_VALUE_DOUBLE ); addSetting( "stamina_inc_max" , &dStaminaIncMax , GENERIC_VALUE_DOUBLE ); addSetting( "recover_dec_thr" , &dRecoverDecThr , GENERIC_VALUE_DOUBLE ); addSetting( "recover_dec" , &dRecoverDec , GENERIC_VALUE_DOUBLE ); addSetting( "recover_min" , &dRecoverMin , GENERIC_VALUE_DOUBLE ); addSetting( "effort_dec_thr" , &dEffortDecThr , GENERIC_VALUE_DOUBLE ); addSetting( "effort_dec" , &dEffortDec , GENERIC_VALUE_DOUBLE ); addSetting( "effort_inc_thr" , &dEffortIncThr , GENERIC_VALUE_DOUBLE ); addSetting( "effort_inc" , &dEffortInc , GENERIC_VALUE_DOUBLE ); addSetting( "effort_min" , &dEffortMin , GENERIC_VALUE_DOUBLE ); // parameters related to auditory perception addSetting( "hear_max" , &iHearMax , GENERIC_VALUE_INTEGER); addSetting( "hear_inc" , &iHearInc , GENERIC_VALUE_INTEGER); addSetting( "hear_decay" , &iHearDecay , GENERIC_VALUE_INTEGER); // parameters related to player turn actions addSetting( "inertia_moment" , &dInertiaMoment , GENERIC_VALUE_DOUBLE ); // parameters related to sense_body information addSetting( "sense_body_step" , &iSenseBodyStep , GENERIC_VALUE_INTEGER); // goalkeeper-related parameters addSetting( "catchable_area_l" , &dCatchableAreaL , GENERIC_VALUE_DOUBLE ); addSetting( "catchable_area_w" , &dCatchableAreaW , GENERIC_VALUE_DOUBLE ); addSetting( "catch_probability" , &dCatchProbability, GENERIC_VALUE_DOUBLE ); addSetting( "catch_ban_cycle" , &iCatchBanCycle , GENERIC_VALUE_INTEGER); addSetting( "goalie_max_moves" , &iGoalieMaxMoves , GENERIC_VALUE_INTEGER); // ball-related parameters addSetting( "ball_size" , &dBallSize , GENERIC_VALUE_DOUBLE ); addSetting( "ball_decay" , &dBallDecay , GENERIC_VALUE_DOUBLE ); addSetting( "ball_rand" , &dBallRand , GENERIC_VALUE_DOUBLE ); addSetting( "ball_weight" , &dBallWeight , GENERIC_VALUE_DOUBLE ); addSetting( "ball_speed_max" , &dBallSpeedMax , GENERIC_VALUE_DOUBLE ); addSetting( "ball_accel_max" , &dBallAccelMax , GENERIC_VALUE_DOUBLE ); // wind-related parameters addSetting( "wind_force" , &dWindForce , GENERIC_VALUE_DOUBLE ); addSetting( "wind_dir" , &dWindDir , GENERIC_VALUE_DOUBLE ); addSetting( "wind_rand" , &dWindRand , GENERIC_VALUE_DOUBLE ); addSetting( "wind_random" , &bWindRandom , GENERIC_VALUE_BOOLEAN); // parameters related to 'dash' and 'kick' commands addSetting( "kickable_margin" , &dKickableMargin , GENERIC_VALUE_DOUBLE ); addSetting( "ckick_margin" , &dCkickMargin , GENERIC_VALUE_DOUBLE ); addSetting( "dash_power_rate" , &dDashPowerRate , GENERIC_VALUE_DOUBLE ); addSetting( "kick_power_rate" , &dKickPowerRate , GENERIC_VALUE_DOUBLE ); addSetting( "kick_rand" , &dKickRand , GENERIC_VALUE_DOUBLE ); // parameters related to visual and auditory perception range addSetting( "visible_angle" , &dVisibleAngle , GENERIC_VALUE_DOUBLE ); addSetting( "audio_cut_dist" , &dAudioCutDist , GENERIC_VALUE_DOUBLE ); // quantization parameters addSetting( "quantize_step" , &dQuantizeStep , GENERIC_VALUE_DOUBLE ); addSetting( "quantize_step_l" , &dQuantizeStepL , GENERIC_VALUE_DOUBLE ); // range parameters for basic actuator commands addSetting( "maxpower" , &iMaxPower , GENERIC_VALUE_INTEGER); addSetting( "minpower" , &iMinPower , GENERIC_VALUE_INTEGER); addSetting( "maxmoment" , &iMaxMoment , GENERIC_VALUE_INTEGER); addSetting( "minmoment" , &iMinMoment , GENERIC_VALUE_INTEGER); addSetting( "maxneckmoment" , &iMaxNeckMoment , GENERIC_VALUE_INTEGER); addSetting( "minneckmoment" , &iMinNeckMoment , GENERIC_VALUE_INTEGER); addSetting( "maxneckang" , &iMaxNeckAng , GENERIC_VALUE_INTEGER); addSetting( "minneckang" , &iMinNeckAng , GENERIC_VALUE_INTEGER); // port-related parameters addSetting( "port" , &iPort , GENERIC_VALUE_INTEGER); addSetting( "coach_port" , &iCoachPort , GENERIC_VALUE_INTEGER); addSetting( "ol_coach_port" , &iOlCoachPort , GENERIC_VALUE_INTEGER); // coach-related parameters addSetting( "say_coach_cnt_max" , &iSayCoachCntMax , GENERIC_VALUE_INTEGER); addSetting( "say_coach_msg_size", &iSayCoachMsgSize , GENERIC_VALUE_INTEGER); addSetting( "clang_win_size" , &iClangWinSize , GENERIC_VALUE_INTEGER); addSetting( "clang_define_win" , &iClangDefineWin , GENERIC_VALUE_INTEGER); addSetting( "clang_meta_win" , &iClangMetaWin , GENERIC_VALUE_INTEGER); addSetting( "clang_advice_win" , &iClangAdviceWin , GENERIC_VALUE_INTEGER); addSetting( "clang_info_win" , &iClangInfoWin , GENERIC_VALUE_INTEGER); addSetting( "clang_mess_delay" , &iClangMessDelay , GENERIC_VALUE_INTEGER); addSetting("clang_mess_per_cycle",&iClangMessPerCycle,GENERIC_VALUE_INTEGER); addSetting( "send_vi_step" , &iSendViStep , GENERIC_VALUE_INTEGER); // time-related parameters addSetting( "simulator_step" , &iSimulatorStep , GENERIC_VALUE_INTEGER); addSetting( "send_step" , &iSendStep , GENERIC_VALUE_INTEGER); addSetting( "recv_step" , &iRecvStep , GENERIC_VALUE_INTEGER); addSetting( "half_time" , &iHalfTime , GENERIC_VALUE_INTEGER); addSetting( "drop_ball_time" , &iDropBallTime , GENERIC_VALUE_INTEGER); // speech-related parameters addSetting( "say_msg_size" , &iSayMsgSize , GENERIC_VALUE_INTEGER); // offside-related parameters addSetting( "use_offside" , &bUseOffside , GENERIC_VALUE_BOOLEAN); addSetting( "offside_active_area_size", &dOffsideActiveAreaSize, GENERIC_VALUE_DOUBLE ); addSetting( "forbid_kick_off_offside" , &bForbidKickOffOffside , GENERIC_VALUE_BOOLEAN); addSetting( "offside_kick_margin",&dOffsideKickMargin,GENERIC_VALUE_DOUBLE ); // log-related parameters addSetting( "verbose" , &bVerbose , GENERIC_VALUE_BOOLEAN); addSetting( "record_version" , &iRecordVersion , GENERIC_VALUE_INTEGER); addSetting( "record_log" , &bRecordLog , GENERIC_VALUE_BOOLEAN); addSetting( "send_log" , &bSendLog , GENERIC_VALUE_BOOLEAN); addSetting( "log_times" , &bLogTimes , GENERIC_VALUE_BOOLEAN); addSetting( "log_file" , &strLogFile , GENERIC_VALUE_STRING ); addSetting( "synch_mode" , &bSynchMode , GENERIC_VALUE_BOOLEAN); addSetting( "fullstate_l" , &bFullStateL , GENERIC_VALUE_BOOLEAN); addSetting( "fullstate_r" , &bFullStateR , GENERIC_VALUE_BOOLEAN); // heterogeneous player parameters from player.conf addSetting( "player_types" , &iPlayerTypes , GENERIC_VALUE_INTEGER); addSetting( "subs_max" , &iSubsMax , GENERIC_VALUE_INTEGER); addSetting( "player_speed_max_delta_min" , &dPlayerSpeedMaxDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "player_speed_max_delta_max" , &dPlayerSpeedMaxDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "stamina_inc_max_delta_factor", &dStaminaIncMaxDeltaFactor, GENERIC_VALUE_DOUBLE ); addSetting( "player_decay_delta_min" , &dPlayerDecayDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "player_decay_delta_max" , &dPlayerDecayDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "inertia_moment_delta_factor" , &dInertiaMomentDeltaFactor, GENERIC_VALUE_DOUBLE ); addSetting( "dash_power_rate_delta_min" , &dDashPowerRateDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "dash_power_rate_delta_max" , &dDashPowerRateDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "player_size_delta_factor" , &dPlayerSizeDeltaFactor , GENERIC_VALUE_DOUBLE ); addSetting( "kickable_margin_delta_min" , &dKickableMarginDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "kickable_margin_delta_max" , &dKickableMarginDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "kick_rand_delta_factor" , &dKickRandDeltaFactor , GENERIC_VALUE_DOUBLE ); addSetting( "extra_stamina_delta_min" , &dExtraStaminaDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "extra_stamina_delta_max" , &dExtraStaminaDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "effort_max_delta_factor" , &dEffortMaxDeltaFactor , GENERIC_VALUE_DOUBLE ); addSetting( "effort_min_delta_factor" , &dEffortMinDeltaFactor , GENERIC_VALUE_DOUBLE ); addSetting( "new_dash_power_rate_delta_min", &dNewDashPowerRateDeltaMin , GENERIC_VALUE_DOUBLE ); addSetting( "new_dash_power_rate_delta_max", &dNewDashPowerRateDeltaMax , GENERIC_VALUE_DOUBLE ); addSetting( "new_stamina_inc_max_delta_factor", &dNewStaminaIncMaxDeltaFactor ,GENERIC_VALUE_DOUBLE ); // penalty parameters addSetting( "pen_dist_x" , &dPenDistX , GENERIC_VALUE_DOUBLE ); addSetting("pen_goalie_max_dist_x",&dPenMaxGoalieDistX,GENERIC_VALUE_DOUBLE); addSetting("pen_allow_mult_kicks",&bPenAllowMultKicks,GENERIC_VALUE_BOOLEAN); // tackle parameters addSetting( "tackle_dist" , &dTackleDist , GENERIC_VALUE_DOUBLE ); addSetting( "tackle_back_dist" , &dTackleBackDist , GENERIC_VALUE_DOUBLE ); addSetting( "tackle_width" , &dTackleWidth , GENERIC_VALUE_DOUBLE ); addSetting( "tackle_exponent" , &dTackleExponent , GENERIC_VALUE_DOUBLE ); addSetting( "tackle_cycles" , &iTackleCycles , GENERIC_VALUE_INTEGER); addSetting( "tackle_power_rate" , &dTacklePowerRate , GENERIC_VALUE_DOUBLE ); // important server parameters not in server.conf or player.conf - are now addSetting( "effort_max" , &dEffortMax , GENERIC_VALUE_DOUBLE ); addSetting( "slow_down_factor" , &iSlowDownFactor , GENERIC_VALUE_INTEGER); addSetting( "visible_distance" , &dVisibleDistance , GENERIC_VALUE_DOUBLE ); addSetting( "extra_stamina" , &dExtraStamina , GENERIC_VALUE_DOUBLE ); // parameters which depend on other values addSetting( "dMaximalKickDist" , &dMaximalKickDist , GENERIC_VALUE_DOUBLE );}/*! This method is originally defined in the superclass GenericValues and is overridden in this subclass. It sets the variable denoted by the first argument to the value denoted by the second argument. \param strName a string representing the name of a variable for which the value must be (re)set \param strValue a string representing a value which must be assigned to the variable denoted by the first argument \return a boolean indicating whether the update was successful */bool ServerSettings::setValue( const char *strName, const char *strValue ){ // call to the superclass method bool bReturn = GenericValues::setValue( strName, strValue ); // compute values for parameters which depend on others (reason for override) dMaximalKickDist = ( dKickableMargin + dPlayerSize + dBallSize ); return ( bReturn );}/*! This method is originally defined in the superclass GenericValues and is overridden in this subclass. It reads the values from a server configuration file and assigns them to the proper variables in this class. \param strFileName a string representing the name of a configuration file \param strSeparator a string representing the separator between the name of a variable and its value \return a boolean indicating whether the values were read correctly */bool ServerSettings::readValues( const char *strFileName, const char *strSeparator ){ // call to the superclass method bool bReturn = GenericValues::readValues( strFileName, strSeparator ); // compute values for parameters which depend on others (reason for override) dMaximalKickDist = ( dKickableMargin + dPlayerSize + dBallSize ); return ( bReturn );}/*! Set method for the 'dGoalWidth' member variable. \param d a double value representing a new width of the goal \return a boolean indicating whether the update was successful */bool ServerSettings::setGoalWidth( double d ){ dGoalWidth = d; return ( true );}/*! Get method for the 'dGoalWidth' member variable. \return the width of the goal */double ServerSettings::getGoalWidth( ) const{ return ( dGoalWidth );}/*! Set method for the 'dPlayerSize' member variable. \param d a double value representing a new player size \return a boolean indicating whether the update was successful */bool ServerSettings::setPlayerSize( double d ){ dPlayerSize = d; // NOTE: also update parameters for which the value depends on this variable dMaximalKickDist = ( dKickableMargin + dPlayerSize + dBallSize ); return ( true );}/*! Get method for the 'dPlayerSize' member variable. \return the size (=radius) of a player */double ServerSettings::getPlayerSize( ) const{ return ( dPlayerSize );}/*! Set method for the 'dPlayerDecay' member variable. \param d a double value representing a new player speed decay per cycle \return a boolean indicating whether the update was successful */bool ServerSettings::setPlayerDecay( double d ){ dPlayerDecay = d; return ( true );}/*! Get method for the 'dPlayerDecay' member variable. \return the player speed decay per cycle */double ServerSettings::getPlayerDecay( ) const{ return ( dPlayerDecay );}/*! Set method for the 'dPlayerRand' member variable. \param d a double value representing a new random error in player movement \return a boolean indicating whether the update was successful */bool ServerSettings::setPlayerRand( double d ){ dPlayerRand = d; return ( true );}/*! Get method for the 'dPlayerRand' member variable. \return the random error in player movement */double ServerSettings::getPlayerRand( ) const
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -