📄 parseparam.cpp
字号:
#include "parseparam.h"
#include "smp_func.h"
#include "paramreaderutil.h"
#include "utils.h"
#include "worldmodel.h"
void ParseParamV7::Parse_PlayerParams(char *SensoryInfo){
}
void ParseParamV7::Parse_PlayerTypes(char *SensoryInfo){
int id = get_int(&SensoryInfo);
PlayerType* p = &playertypes[id];
p->player_speed_max = get_float(&SensoryInfo);
p->stamina_inc_max = get_float(&SensoryInfo);
p->player_decay = get_float(&SensoryInfo);
p->inertia_moment = get_float(&SensoryInfo);
p->dash_power_rate = get_float(&SensoryInfo);
p->player_size = get_float(&SensoryInfo);
p->kickable_margin = get_float(&SensoryInfo);
p->kick_rand = get_float(&SensoryInfo);
p->extra_stamina = get_float(&SensoryInfo);
p->effort_max = get_float(&SensoryInfo);
p->effort_min = get_float(&SensoryInfo);
p->player_speed_max = Min(p->player_speed_max, ServerParam::max_power * p->dash_power_rate * p->effort_max / ( 1-p->player_decay));
}
void ParseParamV7::Parse_PlayerTypeChange(char* SenseInfo){
int num,type;
num = get_int(&SenseInfo);
if(*SenseInfo == ')'){
return;
}
type = get_int(&SenseInfo);
GetPlayer(num).ChangeType(type);
}
void ParseParamV7::Parse_ServerParams(char *SensoryInfo){
goal_width = get_float(&SensoryInfo);
inertia_moment = get_float(&SensoryInfo);
player_size = get_float(&SensoryInfo);
player_decay = get_float(&SensoryInfo);
player_rand = get_float(&SensoryInfo);
player_weight = get_float(&SensoryInfo);
player_speed_max = get_float(&SensoryInfo);
paccel_max = get_float(&SensoryInfo);
stamina_max = get_float(&SensoryInfo);
stamina_inc = get_float(&SensoryInfo);
recover_init = get_float(&SensoryInfo);
recover_dec_thr = get_float(&SensoryInfo);
recover_min = get_float(&SensoryInfo);
recover_dec = get_float(&SensoryInfo);
effort_init = get_float(&SensoryInfo);
effort_dec_thr = get_float(&SensoryInfo);
effort_min = get_float(&SensoryInfo);
effort_dec = get_float(&SensoryInfo);
effort_inc_thr = get_float(&SensoryInfo);
effort_inc = get_float(&SensoryInfo);
kick_rand = get_float(&SensoryInfo);
team_actuator_noise = get_float(&SensoryInfo);
prand_factor_l = get_float(&SensoryInfo);
prand_factor_r = get_float(&SensoryInfo);
kick_rand_factor_l = get_float(&SensoryInfo);
kick_rand_factor_r = get_float(&SensoryInfo);
ball_size = get_float(&SensoryInfo);
ball_decay = get_float(&SensoryInfo);
ball_rand = get_float(&SensoryInfo);
ball_weight = get_float(&SensoryInfo);
ball_speed_max = get_float(&SensoryInfo);
baccel_max = get_float(&SensoryInfo);
dash_power_rate = get_float(&SensoryInfo);
kick_power_rate = get_float(&SensoryInfo);
kickable_margin = get_float(&SensoryInfo);
ctl_radius = get_float(&SensoryInfo);
ctl_radius_width = get_float(&SensoryInfo);
max_power = get_float(&SensoryInfo);
min_power = get_float(&SensoryInfo);
max_moment = get_float(&SensoryInfo);
min_moment = get_float(&SensoryInfo);
max_neck_moment = get_float(&SensoryInfo);
min_neck_moment = get_float(&SensoryInfo);
max_neck_angle = get_float(&SensoryInfo);
min_neck_angle = get_float(&SensoryInfo);
visible_angle = get_float(&SensoryInfo);
feel_distance = get_float(&SensoryInfo);
wind_dir = get_float(&SensoryInfo);
wind_force = get_float(&SensoryInfo);
wind_ang = get_float(&SensoryInfo);
wind_rand = get_float(&SensoryInfo);
kickable_area = get_float(&SensoryInfo);
catch_area_l = get_float(&SensoryInfo);
catch_area_w = get_float(&SensoryInfo);
catch_prob = get_float(&SensoryInfo);
goalie_max_moves = get_int(&SensoryInfo);
ckmargin = get_float(&SensoryInfo);
offside_area = get_float(&SensoryInfo);
win_no = get_float(&SensoryInfo);
win_random = get_float(&SensoryInfo);
say_coach_cnt_max = get_int(&SensoryInfo);
say_coach_msg_size = get_int(&SensoryInfo);
clang_win_size = get_int(&SensoryInfo);
clang_define_win = get_int(&SensoryInfo);
clang_meta_win = get_int(&SensoryInfo);
clang_advice_win = get_int(&SensoryInfo);
clang_info_win = get_int(&SensoryInfo);
clang_mess_delay = get_int(&SensoryInfo);
clang_mess_per_cycle = get_int(&SensoryInfo);
half_time = get_int(&SensoryInfo);
simulator_step = get_int(&SensoryInfo);
send_step = get_int(&SensoryInfo);
recv_step = get_int(&SensoryInfo);
sense_body_step = get_int(&SensoryInfo);
lcm_step = get_int(&SensoryInfo);
say_msg_size = get_int(&SensoryInfo);
hear_max = get_int(&SensoryInfo);
hear_inc = get_int(&SensoryInfo);
hear_decay = get_int(&SensoryInfo);
catch_ban_cycle = get_int(&SensoryInfo);
slow_down_factor = get_int(&SensoryInfo);
use_offside = get_int(&SensoryInfo) == 1;
forbid_kickoff_offside = get_int(&SensoryInfo) == 1;
offside_kick_margin = get_float(&SensoryInfo);
audio_cut_dist = get_float(&SensoryInfo);
dist_qstep = get_float(&SensoryInfo);
land_qstep = get_float(&SensoryInfo);
dir_qstep = get_float(&SensoryInfo);
dist_qstep_l = get_float(&SensoryInfo);
dist_qstep_r = get_float(&SensoryInfo);
land_qstep_l = get_float(&SensoryInfo);
land_qstep_r = get_float(&SensoryInfo);
dir_qstep_l = get_float(&SensoryInfo);
dir_qstep_r = get_float(&SensoryInfo);
if(dir_qstep < 0){
dir_qstep = 0.1f;
}
coach_mode = get_int(&SensoryInfo) == 1;
coach_w_referee_mode = get_int(&SensoryInfo) == 1;
old_hear = get_int(&SensoryInfo) == 1;
sv_step = get_int(&SensoryInfo);
start_goal_l = get_int(&SensoryInfo);
start_goal_r = get_int(&SensoryInfo);
fullstate_l = (get_int(&SensoryInfo) == 1);
fullstate_r = (get_int(&SensoryInfo) == 1);
drop_ball_time = get_int(&SensoryInfo);
}
void ParseParamV8::Parse_PlayerParams(char *SensoryInfo){
ParseParamV7::Parse_PlayerParams(SensoryInfo);
}
void ParseParamV8::Parse_PlayerTypes(char *SensoryInfo){
ParseParamV7::Parse_PlayerTypes(SensoryInfo);
}
void ParseParamV8::Parse_ServerParams(char *SensoryInfo){
#ifdef Version7_Compatible
if (ServerParam::version < 8.0){
ParseParamV7::Parse_ServerParams(SensoryInfo);
return;
}
#endif
ParamReader paramreader;
int i;
for(i=0;ServerParam::OptionList[i].optname[0] != 0; i++)
paramreader.AddItem(ServerParam::OptionList[i]);
paramreader.ParseOptions(SensoryInfo);
ServerParam::player_speed_max = Min(ServerParam::player_speed_max, ServerParam::max_power*ServerParam::dash_power_rate / ( 1-ServerParam::player_decay));
//Don't do the following stuffs, it's already refreshed by server
//ServerParam::simulator_step *= ServerParam::slow_down_factor;
//ServerParam::send_vi_step *= ServerParam::slow_down_factor;
//ServerParam::send_step *= ServerParam::slow_down_factor;
//ServerParam::synch_offset *= ServerParam::slow_down_factor;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -