00001
00002
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00031
00032 #ifndef RCSC_TYPES_H
00033 #define RCSC_TYPES_H
00034
00035 namespace rcsc {
00036
00038 const int MAX_PLAYER = 11;
00039
00041 const int Unum_Unknown = -1;
00042
00047 enum SideID {
00048 LEFT = 1,
00049 NEUTRAL = 0,
00050 RIGHT = -1,
00051 };
00052
00057 enum MarkerID {
00058 Goal_L, Goal_R,
00059
00060 Flag_C,
00061 Flag_CT, Flag_CB,
00062 Flag_LT, Flag_LB,
00063 Flag_RT, Flag_RB,
00064
00065 Flag_PLT, Flag_PLC, Flag_PLB,
00066 Flag_PRT, Flag_PRC, Flag_PRB,
00067
00068 Flag_GLT, Flag_GLB,
00069 Flag_GRT, Flag_GRB,
00070
00071 Flag_TL50, Flag_TL40, Flag_TL30, Flag_TL20, Flag_TL10,
00072 Flag_T0,
00073 Flag_TR10, Flag_TR20, Flag_TR30, Flag_TR40, Flag_TR50,
00074
00075 Flag_BL50, Flag_BL40, Flag_BL30, Flag_BL20, Flag_BL10,
00076 Flag_B0,
00077 Flag_BR10, Flag_BR20, Flag_BR30, Flag_BR40, Flag_BR50,
00078
00079 Flag_LT30, Flag_LT20, Flag_LT10 ,
00080 Flag_L0,
00081 Flag_LB10, Flag_LB20, Flag_LB30,
00082
00083 Flag_RT30, Flag_RT20, Flag_RT10,
00084 Flag_R0,
00085 Flag_RB10, Flag_RB20, Flag_RB30,
00086
00087 Marker_Unknown = 55
00088 };
00089
00094 enum LineID {
00095 Line_Left, Line_Right, Line_Top, Line_Bottom,
00096 Line_Unknown
00097 };
00098
00100 const int Hetero_Unknown = -1;
00102 const int Hetero_Default = 0;
00103
00108 enum PlayMode {
00109 PM_Null,
00110 PM_BeforeKickOff,
00111 PM_TimeOver,
00112 PM_PlayOn,
00113 PM_KickOff_Left,
00114 PM_KickOff_Right,
00115 PM_KickIn_Left,
00116 PM_KickIn_Right,
00117 PM_FreeKick_Left,
00118 PM_FreeKick_Right,
00119 PM_CornerKick_Left,
00120 PM_CornerKick_Right,
00121 PM_GoalKick_Left,
00122 PM_GoalKick_Right,
00123 PM_AfterGoal_Left,
00124 PM_AfterGoal_Right,
00125 PM_Drop_Ball,
00126 PM_OffSide_Left,
00127 PM_OffSide_Right,
00128
00129 PM_PK_Left,
00130 PM_PK_Right,
00131 PM_FirstHalfOver,
00132 PM_Pause,
00133 PM_Human,
00134 PM_Foul_Charge_Left,
00135 PM_Foul_Charge_Right,
00136 PM_Foul_Push_Left,
00137 PM_Foul_Push_Right,
00138 PM_Foul_MultipleAttacker_Left,
00139 PM_Foul_MultipleAttacker_Right,
00140 PM_Foul_BallOut_Left,
00141 PM_Foul_BallOut_Right,
00142 PM_Back_Pass_Left,
00143 PM_Back_Pass_Right,
00144 PM_Free_Kick_Fault_Left,
00145 PM_Free_Kick_Fault_Right,
00146 PM_CatchFault_Left,
00147 PM_CatchFault_Right,
00148 PM_IndFreeKick_Left,
00149 PM_IndFreeKick_Right,
00150 PM_PenaltySetup_Left,
00151 PM_PenaltySetup_Right,
00152 PM_PenaltyReady_Left,
00153 PM_PenaltyReady_Right,
00154 PM_PenaltyTaken_Left,
00155 PM_PenaltyTaken_Right,
00156 PM_PenaltyMiss_Left,
00157 PM_PenaltyMiss_Right,
00158 PM_PenaltyScore_Left,
00159 PM_PenaltyScore_Right,
00160 PM_MAX
00161 };
00162
00164 #define PLAYMODE_STRINGS {"",\
00165 "before_kick_off",\
00166 "time_over",\
00167 "play_on",\
00168 "kick_off_l",\
00169 "kick_off_r",\
00170 "kick_in_l",\
00171 "kick_in_r",\
00172 "free_kick_l",\
00173 "free_kick_r",\
00174 "corner_kick_l",\
00175 "corner_kick_r",\
00176 "goal_kick_l",\
00177 "goal_kick_r",\
00178 "goal_l",\
00179 "goal_r",\
00180 "drop_ball",\
00181 "offside_l",\
00182 "offside_r",\
00183 "penalty_kick_l",\
00184 "penalty_kick_r",\
00185 "first_half_over",\
00186 "pause",\
00187 "human_judge",\
00188 "foul_charge_l",\
00189 "foul_charge_r",\
00190 "foul_push_l",\
00191 "foul_push_r",\
00192 "foul_multiple_attack_l",\
00193 "foul_multiple_attack_r",\
00194 "foul_ballout_l",\
00195 "foul_ballout_r",\
00196 "back_pass_l", \
00197 "back_pass_r", \
00198 "free_kick_fault_l", \
00199 "free_kick_fault_r", \
00200 "catch_fault_l", \
00201 "catch_fault_r", \
00202 "indirect_free_kick_l", \
00203 "indirect_free_kick_r",\
00204 "penalty_setup_l", \
00205 "penalty_setup_r",\
00206 "penalty_ready_l",\
00207 "penalty_ready_r", \
00208 "penalty_taken_l", \
00209 "penalty_taken_r", \
00210 "penalty_miss_l", \
00211 "penalty_miss_r", \
00212 "penalty_score_l", \
00213 "penalty_score_r", \
00214 "", \
00215 "", \
00216 "", \
00217 "", \
00218 "" \
00219 }
00220
00221
00222
00223
00224
00226 #define SAY_CHARACTERS \
00227 "0123456789"\
00228 "abcdefghijklmnopqrstuvwxyz"\
00229 "ABCDEFGHIJKLMNOPQRSTUVWXYZ"\
00230 " ().+*/?<>_-"
00231
00232
00237 enum BallStatus {
00238 Ball_Null,
00239 Ball_InField,
00240 Ball_GoalL,
00241 Ball_GoalR,
00242 Ball_OutOfField,
00243 Ball_MAX
00244 } ;
00245
00247 #define BALL_STATUS_STRINGS { "",\
00248 "in_field",\
00249 "goal_l",\
00250 "goal_r",\
00251 "out_of_field",\
00252 }
00253
00254 }
00255
00256 #endif