/******************************************************************************************************** /// /// Contains all the debug flags for the Tennis project, used for turning on and off print statements /// Also contains all CONSTs and TWEAKs needed to debug and tweak Tennis /// ********************************************************************************************************/ CONST_INT TENNIS_DEBUG_RECORDING 0 // DO NOT SUBMIT WITH THIS EQUAL TO 1! YOU WILL BREAK RELEASE FOR REALS. #IF IS_DEBUG_BUILD // Used for widgets BOOL RECORD_HEAPS_OF_DATA = TRUE BOOL OPTIMIZE_PREDICTION = TRUE BOOL DRAW_ANIM_HITBOX_OFFSETS = FALSE BOOL DRAW_PREDICTION_BALLS = FALSE BOOL DRAW_SWING_RADIUS = FALSE BOOL IS_ANIM_PLAYING = FALSE BOOL AI_SERVE_OVERRIDE = FALSE BOOL PLAYER_SERVE_OVERRIDE = FALSE BOOL DRAW_PREDICTION_POINTS = FALSE BOOL DRAW_DROP_SHOT_DIST = FALSE BOOL SHOULD_SWING_METER_SHOW = FALSE BOOL USE_WALK_MOVE_NETWORK = FALSE BOOL DRAW_ARRAY_MIN_DISTANCE = FALSE BOOL PLAYER_STAT_OVERRIDE_STR = FALSE BOOL ADJUST_DYNA_CAM_OFF_MICHAEL_VARS = FALSE BOOL TEST_POWER_VOLLEY = FALSE BOOL TEST_STRONG_SWING = FALSE BOOL TEST_DROP_SHOT = FALSE BOOL TEST_LOB = FALSE BOOL DRAW_WILD_SWING_RADIUS = FALSE BOOL OVERRIDE_SCLB_UPLOAD = FALSE BOOL INCREASE_BALL_SIM_SPEED = FALSE BOOL USE_DYNA_DEFAULTS = FALSE BOOL NEVER_WALK_TO_POSITION = FALSE BOOL ALWAYS_WALK_TO_POSITION = FALSE BOOL DO_NOT_TRACK_SCORE = FALSE BOOL DEBUG_LAUNCH_BALL_FROM_VECTORS = FALSE BOOL AI_DEBUG_SWING_LOB = FALSE BOOL SHOULD_SET_POWER_SHOT_FLAG = FALSE BOOL SHOW_HEADSET_DRAW_LABELS = FALSE BOOL DISPLAY_DYNA_CAM_VALUES = FALSE #ENDIF #IF IS_DEBUG_BUILD STRUCT TENNIS_WIDGET_DATA BOOL bAudio_TENNIS_PLYR_SMASH_MASTER BOOL bAudio_TENNIS_PLYR_SMASH_BACKSLICE_MASTER BOOL bAudio_TENNIS_PLYR_LOB_MASTER BOOL bAudio_TENNIS_PLYR_FOREARM_MASTER BOOL bAudio_TENNIS_PLYR_BACKSLICE_MASTER BOOL bAudio_TENNIS_PLYR_TOPSPIN_MASTER BOOL bAudio_TENNIS_NPC_SMASH_MASTER BOOL bAudio_TENNIS_NPC_SMASH_BACKSLICE_MASTER BOOL bAudio_TENNIS_NPC_LOB_MASTER BOOL bAudio_TENNIS_NPC_FOREARM_MASTER BOOL bAudio_TENNIS_NPC_BACKSLICE_MASTER BOOL bAudio_TENNIS_NPC_TOPSPIN_MASTER BOOL bTest_PlayerResetFlagStrafe = TRUE BOOL bTest_PlayerResetFlagUseCamHeading = TRUE BOOL bTest_AIResetFlagStrafe = TRUE BOOL bTest_AIResetFlagUseCamHeading = TRUE ENDSTRUCT #ENDIF /// /// Ambient Only Constants /// CONST_INT AMBIENT_SHUTDOWN_DISTANCE 150 CONST_INT AMBIENT_GAMEPLAY_DISTANCE 75 CONST_FLOAT TIME_TO_BALL_IN_HAND 0.015 /// /// Tennis AI Constants /// CONST_FLOAT TENNIS_AI_RUN_BACKWARD_CORRECTION 0.0 CONST_FLOAT TENNIS_PREDICTION_PLAYER_TO_BALL_SCALAR 0.15 CONST_FLOAT AI_HARD_UP_NORMAL_SCALAR -1.0 CONST_FLOAT AI_HARD_UP_TOPSPIN_SCALAR -2.0 CONST_FLOAT AI_HARD_UP_BACKSPIN_SCALAR 0.0 CONST_FLOAT AI_HELD_DIRECTION_REACT 0.5 CONST_INT AI_ACTION_TAKEN_DURATION 500 CONST_FLOAT DEBUG_LOD_SETTING 2.0 CONST_FLOAT AI_DROP_MAX 570.0 CONST_FLOAT AI_CHEAT_DIST_MAX 90.0 CONST_FLOAT HIGH_AI_CHEAT_CHANCE 0.75 CONST_FLOAT LOW_AI_CHEAT_CHANCE 0.05 CONST_FLOAT HIGH_AI_DROPLOB_CHANCE 0.50 CONST_FLOAT LOW_AI_DROPLOB_CHANCE 0.15 CONST_FLOAT FUCK_OFF_TIMER_THRESHOLD 5.0 CONST_FLOAT WILD_SWING_AI_DIST_THRESHOLD 1.200 CONST_FLOAT AD_EASY_FAULT_PROBABILITY 0.20 CONST_FLOAT AD_NORMAL_FAULT_PROBABILITY 0.10 CONST_FLOAT MAX_EASY_AI_REACTION_TIME 0.40 CONST_FLOAT MAX_NORMAL_AI_REACTION_TIME 0.20 CONST_FLOAT MAX_HARD_AI_REACTION_TIME 0.01 CONST_FLOAT CLOSEST_TENNIS_SWING_BAIL_HEIGHT 0.5 CONST_FLOAT TENNIS_PED_ABUSE_TIME 300.00 CONST_FLOAT TENNIS_PED_ABUSE_RATE 0.50 CONST_FLOAT AI_PREDICTION_SCALAR 2.100 CONST_INT AI_PREDICTION_START 0 CONST_FLOAT SERVE_BUCKET_RATE 0.5 CONST_FLOAT SERVE_BUCKET_MIN -1.5 CONST_FLOAT SERVE_BUCKET_MAX 1.5 CONST_FLOAT AI_REACTION_TIME_MAX 1.000 CONST_FLOAT NORMAL_SPIN_RATE 0.30 CONST_FLOAT HARD_SPIN_RATE 0.20 CONST_FLOAT HARD_TOPSPIN_RATE 0.60 // Rate at which AI uses topspin over backspin CONST_FLOAT AI_SWING_RADIUS 0.0 CONST_FLOAT AI_STOP_RADIUS_SQUARED 50.0 // arbitrarily large so we can ignore it for testing, may not need this in the future -REP CONST_INT MAX_HOME_POS 4 CONST_FLOAT LEFT_RIGHT_EASY_OFFSET 2.000 CONST_FLOAT LEFT_RIGHT_NORM_OFFSET 10.00 CONST_FLOAT LEFT_RIGHT_NORM_MULT 2.000 CONST_FLOAT LEFT_RIGHT_HARD_MULT 4.300 CONST_FLOAT UP_DOWN_EASY_BASE 155.000 CONST_FLOAT UP_DOWN_NORM_BASE 164.000 CONST_FLOAT UP_DOWN_HARD_BASE 166.625 CONST_FLOAT UP_DOWN_RANGE 2.000 CONST_FLOAT MULT_1 4.000 CONST_FLOAT MULT_2 8.000 CONST_FLOAT MULT_3 2.165 CONST_FLOAT MULT_4 6.000 CONST_FLOAT MULT_5 1.000 CONST_FLOAT MULT_6 0.500 //CONST_FLOAT BUCKET_FORWARD_MAX 2.000 //CONST_FLOAT BUCKET_FORWARD_MIN -2.928 CONST_FLOAT BUCKET_RIGHT_MAX 2.000 CONST_FLOAT BUCKET_RIGHT_MIN -2.000 CONST_FLOAT BUCKET_BACK_MAX 2.000 CONST_FLOAT BUCKET_BACK_MIN -2.000 CONST_FLOAT BUCKET_CHANGE_RATE_EASY 0.500 CONST_FLOAT BUCKET_CHANGE_RATE_NORM 0.250 CONST_FLOAT BUCKET_CHANGE_RATE_HARD 0.050 CONST_FLOAT BUCKET_CHANGE_RATE_BACK_HARD 0.10 CONST_FLOAT AI_HARD_SHOTTYPE_RATE 0.60 // Rate at which the AI uses normal shots CONST_FLOAT AI_AVERAGE_SHOTTYPE_RATE 0.75 // Rate at which the AI uses normal shots TWEAK_INT DEBUG_SERVE_OVERRIDE 0 CONST_FLOAT SERVICE_RECEIVE_DIST_THRESHOLD 0.10 // How close the ped has to be to be considered "there" when going to service position /// /// Tennis Ball Constants /// CONST_FLOAT NET_PREDICTION_FUDGE_VALUE 0.100 // fudge for predicting when the ball goes over the net, we don't want to predict a net hit when there's a chance it won't actually hit CONST_FLOAT BALL_SIM_SPEED_INCREASE 0.750 CONST_FLOAT SIXTY_FPS 0.0166666666 CONST_FLOAT TENNIS_BALL_BOUNCE_RADIUS 0.050 CONST_FLOAT NO_BOUNCE_TIMEOUT 5.000 TWEAK_INT MAX_FRAMES_IN_THE_FUTURE 3 CONST_FLOAT CALCULATION_OFFSET_RADIUS 0.175 CONST_INT MAX_BOUNCE_SIM_ITERATIONS 180 CONST_FLOAT RICOCHET_OFF_NET_POSITIVE 125.000 CONST_FLOAT RICOCHET_OFF_NET_NEGATIVE 55.000 CONST_FLOAT TENNIS_BALL_RADIUS 0.025 CONST_INT COLLIDE_WITH_PLAYER_THRESH 5 //how long after a hit we can start checking for collision with a player again, in frames CONST_FLOAT TOPSPIN_MOD 1.0 CONST_FLOAT SLICE_MOD 0.015 CONST_FLOAT SLICE_SUBTRACT -0.10 CONST_FLOAT TOPSPIN_APPLY_DURATION 0.1 CONST_FLOAT TOPSPIN_APPLY_TIME 0.455 CONST_FLOAT SLICE_APPLY_TIME 0.05 CONST_FLOAT EASY_VOLLEY_SCALAR 0.100 //Currently unused but may still apply CONST_FLOAT NORMAL_VOLLEY_SCALAR 0.130 //Currently unused but may still apply CONST_FLOAT HARD_VOLLEY_SCALAR 0.163 //Currently unused but may still apply CONST_INT FRAME_THRESHOLD_FOR_BOUNCE 4 CONST_FLOAT OVERHEAD_HEIGHT 2.000 CONST_FLOAT MID_HEIGHT 0.613 CONST_FLOAT TEST_X 0.0 CONST_FLOAT TEST_Y 0.0 CONST_FLOAT TEST_Z 0.0 CONST_FLOAT TEST_RADIUS 0.1 // Debug only tweaks #IF IS_DEBUG_BUILD VECTOR DEBUG_LAUNCH_POS = <<0,0,0>> VECTOR DEBUG_LAUNCH_VEL = <<0,0,0>> #ENDIF /// /// Tennis Cameras Constants /// CONST_INT MAX_WALKS_IN_A_ROW 3 CONST_INT NUM_PLAYER_ANIMS 4 CONST_INT NUM_AI_ANIMS 6 CONST_FLOAT WANDER_CAM_PUSH_OPP_SCALAR 0.9 CONST_FLOAT WANDER_CAM_ORBIT_SCALAR 0.85 TWEAK_INT WANDER_CAM_PUSH_OPP_ROT 357 CONST_FLOAT INTERSTITIAL_LERP_RATE 0.120 CONST_FLOAT INTERSTITIAL_FORWARD_LERP 0.088 CONST_FLOAT INTERSTITIAL_FORWARD_SCALAR 1.300 //TWEAK_INT CAMERA_ANGLE_OVERRIDE 0 CONST_FLOAT BALL_BEHIND_PAN_BACK_THRESH -2.0 CONST_INT MAX_STISH_CAM_ANGLES 6 CONST_FLOAT TUT_STAGE_SHIFT -1.9475 CONST_INT SIDE_CHANGE_LENGTH 3500 CONST_FLOAT CUT_TIMEOUT 10.0 // Camera Tuning CONSTs CONST_FLOAT FAR_CAM_UP_VENICE 0.033 // Vespucci Beach CONST_FLOAT FAR_CAM_LOOK_VENICE 0.588 CONST_FLOAT FAR_CAM_FORWARD_VENICE 0.461 CONST_FLOAT FAR_CAM_FOV_VENICE 45.000 CONST_FLOAT FAR_CAM_UP_MICHAEL 0.063 // Michael's House CONST_FLOAT FAR_CAM_LOOK_MICHAEL 0.491 CONST_FLOAT FAR_CAM_FORWARD_MICHAEL 0.484 CONST_FLOAT FAR_CAM_FOV_MICHAEL 50.000 CONST_FLOAT FAR_CAM_UP_VeH 0.039 // Vespucci Hotel CONST_FLOAT FAR_CAM_LOOK_VeH 0.401 CONST_FLOAT FAR_CAM_FORWARD_VeH 0.334 CONST_FLOAT FAR_CAM_FOV_VeH 50.000 CONST_FLOAT FAR_CAM_UP_RICHMAN 0.032 // Richman Hotel CONST_FLOAT FAR_CAM_LOOK_RICHMAN 0.588 CONST_FLOAT FAR_CAM_FORWARD_RICHMAN 0.442 CONST_FLOAT FAR_CAM_FOV_RICHMAN 45.000 CONST_FLOAT FAR_CAM_UP_LSU 0.036 // LSU Courts CONST_FLOAT FAR_CAM_LOOK_LSU 0.606 CONST_FLOAT FAR_CAM_FORWARD_LSU 0.468 CONST_FLOAT FAR_CAM_FOV_LSU 45.000 CONST_FLOAT FAR_CAM_UP_WEAZEL 0.037 // Weazel 1 Court CONST_FLOAT FAR_CAM_LOOK_WEAZEL 0.506 CONST_FLOAT FAR_CAM_FORWARD_WEAZEL 0.428 CONST_FLOAT FAR_CAM_FOV_WEAZEL 45.000 CONST_FLOAT FAR_CAM_UP_CHUMASH 0.032 // Chumash Hotel CONST_FLOAT FAR_CAM_LOOK_CHUMASH 0.420 CONST_FLOAT FAR_CAM_FORWARD_CHUMASH 0.341 CONST_FLOAT FAR_CAM_FOV_CHUMASH 50.000 CONST_FLOAT FAR_CAM_UP_VINE 0.034 // Vinewood Hotel CONST_FLOAT FAR_CAM_LOOK_VINE 0.503 CONST_FLOAT FAR_CAM_FORWARD_VINE 0.418 CONST_FLOAT FAR_CAM_FOV_VINE 45.000 //Multipliers for the dynamic camera, MAXes and MINs CONST_FLOAT DYNA_NUDGE_RS_LR 2.000 CONST_FLOAT DYNA_NUDGE_RS_UD 2.000 CONST_FLOAT DYNA_DOLLY_LERP 0.200 CONST_FLOAT DYNA_NUDGE_LERP 0.150 CONST_FLOAT DYNA_CAM_SWING_LERP 0.235 CONST_FLOAT DYNA_CAM_SWING_WIDTH 0.500 CONST_FLOAT MIN_DIST_TO_NET 4.921 CONST_FLOAT MAX_DIST_TO_NET 11.200 CONST_FLOAT DYNA_CENTER_LINE 4.113 CONST_FLOAT DEFAULT_DYNA_DIST 12.72 //Distance from center court when set to serve CONST_FLOAT LOOK_AT_TOWARD_VENICE_MAX 6.116 CONST_FLOAT LOOK_AT_TOWARD_MIKE_MAX 6.116 CONST_FLOAT LOOK_AT_TOWARD_MIN 15.543 CONST_FLOAT LOOK_AT_AWAY_MIN 14.140 CONST_FLOAT WHY_TOWARD_MAX_VENICE -7.003 CONST_FLOAT WHY_TOWARD_MAX_MICHAEL -6.008 CONST_FLOAT ZEE_TOWARD_MAX_VENICE 6.701 CONST_FLOAT ZEE_TOWARD_MAX_MICHAEL 6.566 CONST_FLOAT ZEE_TOWARD_MIN_VENICE 4.538 CONST_FLOAT ZEE_TOWARD_MIN 4.538 CONST_FLOAT DYNA_BOOM_LERP 0.211 CONST_FLOAT DYNA_FOV_LERP 0.330 CONST_FLOAT DYNAMOVER_FOV_MIN 18.600 CONST_FLOAT DYNAMOVER_FOV_VENICE_MAX 45.000 CONST_FLOAT DYNAMOVER_FOV_MIKE_MAX 50.000 CONST_FLOAT DYNA_SNAP_DIST 1.5 CONST_FLOAT DYNA_SNAP_FOV 5.0 CONST_FLOAT LOOK_AT_TOWARD_MAX_VeH 6.871 CONST_FLOAT WHY_TOWARD_MAX_VeH -7.003 CONST_FLOAT ZEE_TOWARD_MAX_VeH 6.851 CONST_FLOAT DYNAMOVER_FOV_MAX_VeH 45.00 CONST_FLOAT LOOK_AT_TOWARD_RICHMAN 6.374 CONST_FLOAT WHY_TOWARD_MAX_RICHMAN -6.656 CONST_FLOAT DYNAMOVER_FOV_MAX_RICHMAN 45.000 CONST_FLOAT LOOK_AT_TOWARD_LSU 6.454 CONST_FLOAT WHY_TOWARD_MAX_LSU -6.621 CONST_FLOAT DYNAMOVER_FOV_MAX_LSU 45.000 CONST_FLOAT DYNAMOVER_FOV_MAX_WEAZEL 45.000 CONST_FLOAT LOOK_AT_TOWARD_CHUMASH 6.439 CONST_FLOAT WHY_TOWARD_MAX_CHUMASH -6.608 CONST_FLOAT DYNAMOVER_FOV_MAX_CHUMASH 45.00 CONST_FLOAT LOOK_AT_TOWARD_VINE 6.521 CONST_FLOAT WHY_TOWARD_MAX_VINE -6.681 CONST_FLOAT DYNAMOVER_FOV_MAX_VINE 45.000 /// /// Tennis Court Constants /// CONST_FLOAT BACK_TO_COURT_SCALAR 0.93 CONST_FLOAT DEBUG_COURT_FRAME_MULTIPLIER 0.496 CONST_FLOAT DEBUG_COURT_SERVICE_RATIO 0.433 CONST_FLOAT COURT_DEPTH_SCALAR 0.191 CONST_FLOAT COURT_WIDTH_SCALAR 1.800 CONST_FLOAT COURT_DEPTH_JUST_OOB 0.018 CONST_FLOAT COURT_WIDTH_JUST_OOB 1.038 CONST_FLOAT TENNIS_ANGLED_AREA_CHECK_ADD_HEIGHT 30.0 CONST_FLOAT TENNIS_ANGLED_AREA_CHECK_SUB_HEIGHT 5.0 CONST_FLOAT NET_HEIGHT_MIDDLE 0.859 CONST_FLOAT NET_HEIGHT_END 0.949 CONST_FLOAT SIDELINE_MULT 1.0 CONST_FLOAT COURT_RANGE 26.750 CONST_FLOAT SERVICE_AREA_WIDTH 4.153 CONST_FLOAT OFFSIDES_WIDTH 25.000 CONST_FLOAT COURT_OOB_WIDTH_1 14.160 CONST_FLOAT COURT_OOB_WIDTH_2 11.995 CONST_FLOAT COURT_OOB_WIDTH_3 23.820 CONST_FLOAT QUIT_WARNING_TIMEOUT 5.000 CONST_FLOAT NET_LENGTH_1_VENICE -0.694 CONST_FLOAT NET_LENGTH_2_VENICE 0.693 CONST_FLOAT NET_ENDS_HEIGHT_VENICE 1.075 CONST_FLOAT NET_MIDDLE_HEIGHT_VENICE 0.870 CONST_FLOAT NET_LENGTH_1_MICHAEL -0.834 CONST_FLOAT NET_LENGTH_2_MICHAEL 0.834 CONST_FLOAT NET_ENDS_HEIGHT_MICHAEL 1.148 CONST_FLOAT NET_MIDDLE_HEIGHT_MICHAEL 0.928 CONST_FLOAT TENNIS_SPECTATOR_PLACEMENT_OFFSET 20.0 CONST_FLOAT COURT_VEHICLE_REPOSITION_DISTANCE 100.0 /// /// Dialogue /// CONST_FLOAT LONG_RALLY_CONVO_RATE 0.15 TWEAK_INT LONG_RALLY_CONVO_WAIT 2700 /// /// Tennis Leaderboard Widgets /// CONST_INT SCLB_RANK_PRED_TIMEOUT 10000 TWEAK_INT MATCHES_WON_OVERRIDE 0 TWEAK_INT MATCHES_LOST_OVERRIDE 0 TWEAK_INT SETS_WON_OVERRIDE 0 TWEAK_INT SETS_LOST_OVERRIDE 0 TWEAK_INT GAMES_WON_OVERRIDE 0 TWEAK_INT GAMES_LOST_OVERRIDE 0 TWEAK_INT POINTS_WON_OVERRIDE 0 TWEAK_INT ACES_OVERRIDE 0 TWEAK_INT ACED_OVERRIDE 0 /// /// Tennis MP Constants /// CONST_FLOAT DISABLE_TENNIS_MODE_ANIM_PHASE 0.9 CONST_INT ATTACH_TENNIS_BALL_STAMP 580 CONST_INT HEADSHOT_WAIT_LIMIT 1000 TWEAK_INT MP_BALL_LERP_DURATION 500 CONST_FLOAT WAITING_FOR_PLAYERS_TIMEOUT 20.00 CONST_FLOAT TENNIS_WAIT_TIMEOUT__MESSAGE_PROMPT 15.000 CONST_FLOAT DESYNC_THRESHOLD 5.000 CONST_FLOAT GET_OFF_MY_SIDE 11.818 CONST_INT BAD_BOUNCE_THRESHOLD 3 CONST_INT TENNIS_XP_PARTICIPATION 100 CONST_INT TENNIS_XP_GAME_WON 50 CONST_INT TENNIS_XP_SET_WON 250 CONST_INT TENNIS_XP_MATCH_WON 500 CONST_FLOAT SIDE_CHANGE_MID_DEST_SCALAR 7.2 /// /// Tennis Player Constants /// CONST_FLOAT RACKET_X_DIST_SCALAR 0.3 CONST_FLOAT MIN_DIST_NO_FRILLS_SPEED_ADJUST 5.0 TWEAK_INT SWING_ANIM_MIN_DURATION 2 TWEAK_INT TENNIS_PROPS_DIVE_DURATION 2871 CONST_INT TENNIS_PLAYER_REACT_DURATION 2442 CONST_INT TENNIS_WIN_STRENGTH_INC 3 CONST_INT CUTSCENE_SKIP_RALLY_COUNT 4 CONST_FLOAT CUTSCENE_SKIP_DIST_SQUARED 12.25 // 3.5m^2 CONST_INT MAX_SWING_BUCKETS 10 CONST_INT MAX_SWINGS_PER_BUCKET 10 CONST_FLOAT SWING_BUCKET_STEP_SIZE 0.20 //CONST_FLOAT IDLE_TIMER_LIMIT 27.000 TWEAK_INT PLAYER_OOB_CHECK_LIMIT 8 CONST_FLOAT WILD_SWING_HEIGHT_THRESHOLD 2.0 CONST_FLOAT WILD_SWING_MAX_DIST_FAIL 7.600 CONST_FLOAT WILD_SWING_MIN_DIST_FAIL 2.000 TWEAK_INT MAX_SLOWDOWN_FRAMES 5 CONST_FLOAT WILD_SWING_MAX_DEPTH 0.500 CONST_FLOAT MIN_DIVE_SEGMENT_RATIO 0.000 CONST_FLOAT MAX_DIVE_SEGMENT_RATIO 1.000 CONST_FLOAT DIVE_DIST_TO_SIDE_THRESHOLD 2.850 CONST_FLOAT SWING_DAMN_IT_THRESHOLD 0.400 CONST_FLOAT CROSS_BAT_PLANE_THRESHOLD 0.350 CONST_FLOAT X_DIST_FROM_RACKET_THRESHOLD 0.650 CONST_FLOAT Y_DIST_BEHIND_RACKET_THRESHOLD -0.90 CONST_FLOAT Z_DIST_FROM_RACKET_THRESHOLD 0.9 CONST_FLOAT MISS_FLAG_TIMEOUT 0.5 CONST_FLOAT OOB_AIM_IN_SCALAR_MAX 1.000 CONST_FLOAT OOB_AIM_IN_SCALAR_MIN 0.400 TWEAK_INT MISS_CHECK_INDEX 1 TWEAK_INT SWING_DELAY_TIME 1000 CONST_FLOAT WILD_SWING_RADIUS_PLAYER 20.000 CONST_FLOAT NORMAL_RACKET_RANGE_ALLOWANCE 2.000 CONST_FLOAT DIVE_RACKET_RANGE_ALLOWANCE 0.450 CONST_FLOAT TRUNC_RACKET_RANGE_ALLOWANCE 1.500 CONST_INT TRUNCATED_SHRINK_THRESHOLD 5 TWEAK_INT DIVE_DURATION_IN_FRAMES 82 CONST_INT RALLY_XP_THRESHOLD 20 CONST_INT RALLY_XP_BONUS 50 TWEAK_INT FRAME_TASK_BUFFER -2 CONST_FLOAT UPCOURT_ERROR_REDUCTION 0.3 CONST_FLOAT MAX_STRENGTH_BOOST 1.2 CONST_FLOAT TENNIS_PLAYER_RUN_VELOCITY 5.0 CONST_FLOAT SERVE_ACTIVE_PHASE 0.720 // Global because it's used in SP and MP in separate functions CONST_FLOAT TENNIS_PLAYER_WALK_VELOCITY 2.6 // Varies from 2.38 to 2.73 CONST_FLOAT TENNIS_PLAYER_ACCEL_ALLOW 2.0 CONST_FLOAT STRONG_SWING_HOLD_THRESHOLD 0.500 CONST_FLOAT MIN_DIVE_DISTANCE 5.0 CONST_FLOAT AI_TAKEOVER_DISTANCE 4.000 CONST_FLOAT POWER_VOLLEY_HEIGHT_FLOOR 0.800 CONST_FLOAT POWER_VOLLEY_HEIGHT_MID 1.200 CONST_FLOAT POWER_VOLLEY_HEIGHT_CEILING 1.400 CONST_FLOAT SERVICE_Y_BASELINE 0.025 CONST_INT PLAYER_PREDICTION_START 0 CONST_FLOAT STRONG_SWING_THRESHOLD 3.000 CONST_INT SERVE_OOB_THRESHOLD 125 CONST_FLOAT STRONG_SWING_POWER_ADD 10.0 //Used only in CREATE_TENNIS_FORCE_VECTOR CONST_INT SHAKE_DURATION_SLIDE 50 CONST_INT SHAKE_DURATION_FREQUENCY 256 CONST_INT STRONG_SWING_SHAKE_FREQ 85 CONST_FLOAT OUTER_IN_BOUNDS 0.550 CONST_FLOAT OUTER_CORNER_MULT 2.500 CONST_FLOAT INNER_LEFT_MULT 0.750 CONST_FLOAT INNER_RIGHT_MULT 0.500 CONST_FLOAT PLAYER_HIT_BY_BALL_RADIUS 0.880 CONST_FLOAT AUTOMATIC_SWING 30.000 //In seconds CONST_FLOAT SWING_TIMEOUT 0.9500 //In seconds VECTOR RACKET_OFFSET = << 0.034, 0.002, -0.007 >> VECTOR RACKET_ROTATION = << 70.560, 72.360, 67.680 >> //Shot constants #IF NOT IS_TENNIS_MULTIPLAYER CONST_FLOAT SWING_BASE_LOWEST_COST 0.750 #ENDIF #IF IS_TENNIS_MULTIPLAYER CONST_FLOAT SWING_BASE_LOWEST_COST 0.400 #ENDIF CONST_FLOAT RACKET_RADIUS_FOR_CONNECTION 0.250 #IF NOT IS_TENNIS_MULTIPLAYER CONST_FLOAT BIAS_AGAINST_OUTSIDE_SHOT 2.500 #ENDIF #IF IS_TENNIS_MULTIPLAYER CONST_FLOAT BIAS_AGAINST_OUTSIDE_SHOT 3.500 #ENDIF //Costs are applied in distance comparisons CONST_FLOAT GOOD_SHOT_ALLOWANCE 0.15 //distance from centre that we consider our shot good anyway CONST_FLOAT HIGH_COST_SHOT_COST 0.4 //Mainly for dives, expensive CONST_FLOAT MEDIUM_COST_SHOT_COST 0.1 //extra distance used to weight against some shots CONST_FLOAT LOW_COST_SHOT_COST 0.05 //extra distance used to weight against some shots CONST_INT DEAD_ZONE_THRESHOLD 15 CONST_FLOAT SERVE_SIM_INCREASE 0.995 //SP only, MP uses SERVE_S_PLUS #IF NOT IS_TENNIS_MULTIPLAYER CONST_FLOAT SERVE_S_PLUS 0.965 #ENDIF #IF IS_TENNIS_MULTIPLAYER CONST_FLOAT SERVE_S_PLUS 0.985 #ENDIF CONST_FLOAT SERVE_S 0.90 CONST_FLOAT SERVE_A 0.70 CONST_FLOAT SERVE_B 0.45 CONST_FLOAT SERVE_C 0.20 CONST_FLOAT SERVE_D 0.00 CONST_FLOAT UI_ON 1.1 CONST_FLOAT NO_PRESS_BUFFER 1.25 VECTOR DIVE_Right_TopLeft = <<2.00,-0.04,0.60>> VECTOR DIVE_Right_TopRight = <<3.20, -0.04,0.60>> VECTOR DIVE_Right_BottomRight = <<3.20, -0.04, -0.60>> VECTOR DIVE_Right_BottomLeft = <<2.00, -0.04, -0.60>> VECTOR DIVE_Left_TopLeft = <<-3.20,-0.04,0.60>> VECTOR DIVE_Left_TopRight = <<-2.00,-0.04,0.60>> VECTOR DIVE_Left_BottomRight = <<-2.00, -0.04, -0.60>> VECTOR DIVE_Left_BottomLeft = <<-3.20, -0.04, -0.60>> CONST_INT POWER_SHAKE_DURATION 100 CONST_INT NORMAL_SHAKE_DURATION 80 CONST_INT LOB_SHAKE_DURATION 60 CONST_FLOAT SERVE_WALK_MAX 7.783 CONST_FLOAT SERVE_WALK_MID 4.425 CONST_FLOAT SERVE_WALK_MIN 1.300 CONST_FLOAT SERVE_WALK_MOD_RIGHT 1.000 CONST_FLOAT SERVE_WALK_MOD_LEFT 0.700 //These control the angle and power which the ball is hit at by the forecourt player CONST_FLOAT NET_SCALAR 107.0 //Scalar for the power of the shot as the player nears the net. CONST_FLOAT NET_SCALAR_LOB 85.750 CONST_INT MAX_FORCE_REDUCTION 5 //Used for testing power and angle and the height at which a shot is taken CONST_FLOAT TEST_HEIGHT 0.0 //0.613 CONST_FLOAT TEST_FORWARD_SCALAR 0.000 //Used only in CREATE_TENNIS_FORCE_VECTOR CONST_FLOAT MAX_UPWARD_ZEE 7.200 CONST_FLOAT MIN_UPWARD_ZEE 5.500 CONST_FLOAT MAX_DOWNWARD_ZEE -1.50 CONST_FLOAT MIN_DOWNWARD_ZEE 0.900 CONST_FLOAT MIN_SHOT_POWER 8.000 CONST_FLOAT MAX_SHOT_POWER 30.00 CONST_FLOAT MAX_SHOT_POWER_PV 45.00 // "PV" denotes a Power Volley CONST_FLOAT MIN_SHOT_POWER_PV 15.00 CONST_FLOAT MAX_DOWNWARD_ZEE_PV -2.00 CONST_FLOAT MAX_UPWARD_ZEE_PV 0.000 CONST_FLOAT MIN_UPWARD_ZEE_PV 7.500 CONST_FLOAT MAX_UPWARD_ZEE_LOB 15.000 // "LOB" denotes a Lob CONST_FLOAT MIN_UPWARD_ZEE_LOB 12.500 CONST_FLOAT MAX_DOWNWARD_ZEE_LOB 1.380 CONST_FLOAT MIN_DOWNWARD_ZEE_LOB_NEAR 8.000 CONST_FLOAT MIN_DOWNWARD_ZEE_LOB_FAR 15.000 CONST_FLOAT MAX_POWER_HIGH_LOB_NEAR_NET 14.350 CONST_FLOAT MAX_SHOT_POWER_LOB_FAR 30.000 CONST_FLOAT MAX_SHOT_POWER_LOB_NEAR 15.000 CONST_FLOAT MIN_SHOT_POWER_LOB 12.325 CONST_FLOAT MAX_POWER_HIGH_FAR_DROP 7.000 // "DROP" denotes the drop shot, "FAR/CLOSE" refers to distance to net CONST_FLOAT MAX_POWER_LOW_FAR_DROP 27.550 CONST_FLOAT MAX_DOWNWARD_ZEE_DROP 0.000 CONST_FLOAT MIN_SHOT_POWER_DROP 3.000 CONST_FLOAT MIN_DOWNWARD_ZEE_DROP 1.580 //Used for testing MoVE and animations CONST_FLOAT RUN_THRESH 1.5 CONST_FLOAT BLEND_RATE 0.130 CONST_INT FRAME_ADJUST 2 CONST_FLOAT MIN_ANIM_SPEED 0.5 CONST_FLOAT MAX_ANIM_SPEED 1.5 TWEAK_INT TEST_SWING_STATE 35 CONST_INT MAX_FUTURE_POINTS 24 CONST_FLOAT THIRTY_FPS 0.0333333333 CONST_FLOAT AIR_FRICTION 0.065 CONST_FLOAT SLICE_AIR_FRICTION 0.073 CONST_FLOAT GROUND_BOUNCE_COEFF 1.000 CONST_FLOAT BOUNCE_MIN_Z 0.010 CONST_FLOAT NET_BOUNCE_HOR_COEFF 1.400 CONST_FLOAT NET_BOUNCE_VERT_COEFF 0.400 //Used for the rate of foot squeaks while running in the same direction CONST_FLOAT SQUEAK_RATE_RUNNING 0.10 CONST_FLOAT SQUEAK_RATE_COD 0.08 //#IF IS_DEBUG_BUILD // VECTOR PREDICTION_PATH[MAX_FUTURE_POINTS] //#ENDIF /// /// Tennis SCTV added CONSTs /// CONST_INT TENNIS_MAX_SCTV 4 CONST_INT TENNIS_INVALID_PARTICIPANT_ID -1 /// /// Tennis UI Constants /// CONST_INT TENNIS_TEXTURE_LOAD_FAILSAFE 10 CONST_INT TENNIS_HEADSHOT_FAILSAFE_ATTEMPTS 50 TWEAK_INT DELAY_NEXT_UI_DURATION 1500 CONST_FLOAT SERVE_METER_LEFT_MAX 0.10 CONST_FLOAT SERVE_METER_RIGHT_MAX 0.90 CONST_INT MENU_STAMP_DELAY 250 CONST_FLOAT CUT_DELAY_ANIM_ADD 1.0 CONST_INT TENNIS_RALLY_CONVO_THRESHOLD 9 CONST_FLOAT FIRST_MENU_OFFSET -1.0 CONST_FLOAT SECOND_MENU_OFFSET 0.132 CONST_FLOAT THIRD_MENU_OFFSET 0.064 CONST_FLOAT FOURTH_MENU_OFFSET 0.460 CONST_FLOAT FIFTH_MENU_OFFSET -1.0 CONST_INT AMANDA_DSTAR_DEUCE_COUNT 5 CONST_FLOAT TENNIS_AWARD_VIEW_TIME 2.0 // in seconds CONST_INT SPLASH_UI_DURATION 2000 CONST_INT SCOREBOARD_WAIT_THRESHOLD 1700 CONST_FLOAT MICHAEL_SERVE_METER_X_OFFSET_DYNA -0.1 CONST_FLOAT MICHAEL_SERVE_METER_X_OFFSET_STAT -0.1 CONST_FLOAT MICHAEL_SERVE_METER_Y_OFFSET_DYNA -0.036 CONST_FLOAT MICHAEL_SERVE_METER_Y_OFFSET_STAT -0.090 CONST_FLOAT MICHAEL_SERVE_METER_X_RIGHT_ADJ -0.025 CONST_FLOAT MICHAEL_SERVE_METER_X_OFF_4BY3 -0.127 CONST_FLOAT SERVE_X_OFFSET 0.0 CONST_FLOAT SERVE_Y_OFFSET 0.678 CONST_FLOAT FINAL_MENU_TIMEOUT 30.000 CONST_FLOAT MARKER_POSITION 0.0 CONST_FLOAT APEX_POSITION 0.0 CONST_FLOAT TARGET_SPAN 0.703 CONST_FLOAT TARGET_POSITION 0.140 CONST_FLOAT FILL_SPAN 0.449 CONST_FLOAT FILL_STATE 0.850 CONST_FLOAT FADE_OUT_DURATION 1000.0 CONST_FLOAT PERFECT_HIT_TIME 1.800 CONST_FLOAT END_HIT_TIME 3.666 CONST_INT METER_SCALAR 100 CONST_INT EXPONENT 3 CONST_FLOAT HIT_OFFSET 0.005 CONST_FLOAT MESSAGE_THRESHOLD 0.75 CONST_FLOAT F_METER_RESET -100.0 CONST_FLOAT UI_SCALAR 0.6 CONST_FLOAT X_MARKER_RADIUS 0.673 CONST_FLOAT Z_MARKER_RADIUS 0.65 TWEAK_INT ARRR 64 TWEAK_INT GEE 255 TWEAK_INT BEE 64 TWEAK_INT ARVA 255 CONST_FLOAT TUF_NO_SPLASH_TIME_OUT 3.500 CONST_INT HELP_TEXT_TIME 4000 CONST_INT LONG_ENOUGH_THRESHOLD 2000 CONST_INT EXTRA_HELP_TEXT_TIME 8000