From b86332f2ef198336357efc2ec291ec618649b8fe Mon Sep 17 00:00:00 2001 From: Alexander Guryanov Date: Thu, 28 Dec 2023 11:46:36 +0300 Subject: [PATCH] Synchronize PRM with final version; replace abort() with error log in LCP_Solver --- MechoSoma/Xreal/LCP_Solver.cpp | 10 +++-- MechoSoma/Xreal/LCP_frictional.cpp | 12 +++--- MechoSoma/Xreal/gen_animalarcans.cpp | 12 +++--- MechoSoma/Xreal/gen_animals.cpp | 24 ++++++------ MechoSoma/Xreal/gen_arcans.cpp | 56 ++++++++++++++-------------- MechoSoma/Xreal/gen_camera.cpp | 34 ++++++++--------- MechoSoma/Xreal/gen_mechos.cpp | 52 +++++++++++++------------- MechoSoma/Xreal/gen_xreal.cpp | 42 ++++++++++----------- 8 files changed, 123 insertions(+), 119 deletions(-) diff --git a/MechoSoma/Xreal/LCP_Solver.cpp b/MechoSoma/Xreal/LCP_Solver.cpp index 4c84bbff..2e6041e4 100644 --- a/MechoSoma/Xreal/LCP_Solver.cpp +++ b/MechoSoma/Xreal/LCP_Solver.cpp @@ -218,11 +218,13 @@ void LCP_Solver::drive_to_zero(int d) return; } - if(iterations++ > LCP_max_iterations) - abort("LCP_Solver: too many iterations"); - mem_restore(); - } + + if(iterations++ > LCP_max_iterations) { + printf("ERR! LCP_Solver: too many iterations, terminating..."); + return; + } + } } void LCP_Solver::fdirection(int d) diff --git a/MechoSoma/Xreal/LCP_frictional.cpp b/MechoSoma/Xreal/LCP_frictional.cpp index bb077f29..f8842388 100644 --- a/MechoSoma/Xreal/LCP_frictional.cpp +++ b/MechoSoma/Xreal/LCP_frictional.cpp @@ -167,13 +167,15 @@ void LCP_Solver::drive_to_zero_frictional(int d) break; } - if(index == d && drive_friction == prev_state){ + if(index == d && drive_friction == prev_state) { return; - } + } - if(iterations++ > LCP_max_iterations) - abort("LCP_Solver: too many iterations"); - } + if(iterations++ > LCP_max_iterations) { + printf("ERR! LCP_Solver: too many iterations, terminating..."); + return; + } + } } void LCP_Solver::fdirection_frictional(int d) diff --git a/MechoSoma/Xreal/gen_animalarcans.cpp b/MechoSoma/Xreal/gen_animalarcans.cpp index ec9b2ab5..76f56086 100644 --- a/MechoSoma/Xreal/gen_animalarcans.cpp +++ b/MechoSoma/Xreal/gen_animalarcans.cpp @@ -27,7 +27,7 @@ int bubble_time_to_hold_mechos = 4000; int bubble_owner_protection_time = 2000; float bubble_active_size = 0.5f; float bubble_restitution_plus_one = 1.9f; -float bubble_buoyancy = 1.e-002f; +float bubble_buoyancy = 0.01f; float bubble_freeHeight = -10.f; float bubble_cargoHeight = 150.f; float bubble_freeGravity = 2.f; @@ -57,7 +57,7 @@ float suicide_average_stop_velocity = 20.f; int suicide_average_stop_delay = 500; float suicide_impact_velocity = 30.f; float suicide_impact_normal_y = 0.8f; -float bonus_man_buoyancy = 4.5e-002f; +float bonus_man_buoyancy = 0.045f; float bonus_man_submersion_threshould = 0.8f; float bonus_man_mechos_hit_velocity = 10.f; int bonus_man_switch_time_threshould = 1000; @@ -74,21 +74,21 @@ float bonus_meteorite_buoyancy = 0.1f; float snow_ball_scale_radius = 4.f; float snow_ball_dragV = 0.5f; int ball_time_to_live = 5000; -float ball_drag_vw = 5.e-002f; +float ball_drag_vw = 0.05f; float ball_initial_V = 40.f; float ball_initial_W = 1.f; float ball_buoyancy = 0.2f; float ball_traction_factor = 0.4f; -float ball_steering_factor = 2.5e-002f; +float ball_steering_factor = 0.025f; float ball_max_Vxy = 40.f; -float clown_buoyancy = 5.e-002f; +float clown_buoyancy = 0.05f; float tomato_mass = 3.f; float tomato_TOI_scale = 10.f; float tomato_radius_scale = 0.8f; float tomato_linear_damping = 2.f; float tomato_angular_damping = 4.f; float tomato_return_force = 0.f; -float tomato_buoyancy = 4.e-002f; +float tomato_buoyancy = 0.04f; float tomato_swing_lift_force = 10.f; float tomato_swing_torque = 1.f; float titanium_ball_damage = 0.f; diff --git a/MechoSoma/Xreal/gen_animals.cpp b/MechoSoma/Xreal/gen_animals.cpp index 866053fc..74b3e28d 100644 --- a/MechoSoma/Xreal/gen_animals.cpp +++ b/MechoSoma/Xreal/gen_animals.cpp @@ -14,7 +14,7 @@ float frog_start_jump_phase = 0.f; float frog_stop_jump_phase = 0.5f; float frog_jump_animation_period = 1000.f; float frog_stop_animation_period = 1000.f; -float frog_phase_incr = 5.e-002f; +float frog_phase_incr = 0.05f; int frog_rest_time = 10000; int frog_walk_distance = 10000; float frog_Vy = 76.f; @@ -23,7 +23,7 @@ float frog_radius = 60.f; int frog_racer_recover_time = 2000; float dragon_traction = 25.f; float dragon_racer_traction = 52.f; -float dragon_rudder = 7.e-002f; +float dragon_rudder = 0.07f; float dragon_width = 100.f; float dragon_length = 150.f; float dragon_height = 150.f; @@ -52,7 +52,7 @@ float debris_Vz = 15.5034f; float debris_W = 1.f; float debris_damage_ability = 0.5f; float debris_time_to_dwindle = 2000.f; -float smart_stone_damage_ability = 5.e-002f; +float smart_stone_damage_ability = 0.05f; float smart_stone_traction = 2.f; float smart_stone_rudder = 0.1f; float smart_stone_restitution = 0.95f; @@ -63,21 +63,21 @@ float smart_stone_fly_velocity = 60.f; float shark_spheres_radius = 10.f; float shark_distance = 500.f; float shark_damage = 1.f; -float shark_buoyancy = 7.e-002f; +float shark_buoyancy = 0.07f; float shark_traction = 4.f; -float shark_rudder = 4.e-002f; +float shark_rudder = 0.04f; float shark_animation_period = 1500.f; float shark_rudder_duration = 3000.f; float fish_spheres_radius = 10.f; float fish_distance = 500.f; float fish_damage = 0.3f; -float fish_buoyancy = 2.e-002f; +float fish_buoyancy = 0.02f; float fish_traction = 2.f; float whale_TOI_scale = 3.f; -float whale_buoyancy = 1.5e-002f; +float whale_buoyancy = 0.015f; float whale_sphere_offset_z = 20.f; float whale_traction = 49.f; -float whale_rudder = 5.e-002f; +float whale_rudder = 0.05f; int whale_jump_time = 2000; int whale_jump_reverse_time = 1000; float whale_jump_axis_z = 0.8f; @@ -88,17 +88,17 @@ float dog_hit_velocity2sound_factor = 1.f; float dog_activation_distance = 150.f; float dog_animation_period = 8000.f; float wicked_butterfly_traction = 100.f; -float wicked_butterfly_distance_to_traction_factor = 2.5e-002f; +float wicked_butterfly_distance_to_traction_factor = 0.025f; float brevno_spheres_radius = 25.f; float brevno_mass = 1.f; float brevno_return_force = 2.f; float brevno_linear_damping = 0.2f; float brevno_angular_damping = 0.2f; -float brevno_buoyancy = 5.e-002f; -float brevno_torque = 5.e-002f; +float brevno_buoyancy = 0.05f; +float brevno_torque = 0.05f; float raft_spheres_radius = 10.f; float raft_mass = 1.25f; -float raft_buoyancy = 4.4e-002f; +float raft_buoyancy = 0.044f; float ship_spheres_radius = 8.f; float ship_buoyancy = 0.1f; float ship_guard_distance = 500.f; diff --git a/MechoSoma/Xreal/gen_arcans.cpp b/MechoSoma/Xreal/gen_arcans.cpp index 556879a4..60703fdb 100644 --- a/MechoSoma/Xreal/gen_arcans.cpp +++ b/MechoSoma/Xreal/gen_arcans.cpp @@ -9,37 +9,37 @@ float mechos_foot_speed_factor = 0.12f; #define __XScript_struct_FlyingArcaneData__ #pragma pack( push, __XScript_struct_pack__, 4 ) struct FlyingArcaneData { - float height; - float traction_force; - float brake_force; - float zero_speed_rudder; - float rudder_torque_factor_manual; - float rudder_torque_factor_point_controlled; - float dragVx; - float dragVy; - float dragVz; - float dragWxy; - float dragWz; - float up_lift; - float down_lift; - float lift_offset_y; - float lift_offset_z; + float height; + float traction_force; + float brake_force; + float zero_speed_rudder; + float rudder_torque_factor_manual; + float rudder_torque_factor_point_controlled; + float dragVx; + float dragVy; + float dragVz; + float dragWxy; + float dragWz; + float up_lift; + float down_lift; + float lift_offset_y; + float lift_offset_z; }; #pragma pack( pop, __XScript_struct_pack__) #endif // __XScript_struct_FlyingArcaneData__ -FlyingArcaneData butterfly_flying_data = { 70.f - , 24.f, 40.f, 40.f, 3.e-002f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f - }; +FlyingArcaneData butterfly_flying_data = { 70.f + , 24.f, 40.f, 40.f, 0.03f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f +}; float butterfly_sweep_period = 300.f; float butterfly_sound_phase = 0.25f; -FlyingArcaneData dirigible_flying_data = { 70.f - , 26.f, 40.f, 40.f, 3.e-002f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f - }; -FlyingArcaneData helicopter_flying_data = { 70.f, 29.f, 40.f, 40.f, 3.e-002f - , 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f }; -FlyingArcaneData dragon_power_flying_data = { 70.f - , 32.f, 40.f, 40.f, 3.e-002f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f - }; +FlyingArcaneData dirigible_flying_data = { 70.f + , 26.f, 40.f, 40.f, 0.03f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f +}; +FlyingArcaneData helicopter_flying_data = { 70.f, 29.f, 40.f, 40.f, 0.03f, 0.1f + , 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f }; +FlyingArcaneData dragon_power_flying_data = { 70.f + , 32.f, 40.f, 40.f, 0.03f, 0.1f, 4.f, 0.3f, 0.3f, 1.f, 2.f, 2.f, -0.2f, 2.f, 20.f +}; float dragon_power_sweep_period = 800.f; float dragon_power_sound_phase = 0.f; float cannon_ball_height = 70.f; @@ -97,8 +97,8 @@ float magnetic_field_repulsion = 4.f; float k_attraction_arcan = 4.f; float magnetic_cushion_traction = 16.f; float magnetic_cushion_rudder_modulation = 1.f; -float k_vortex_force = 5.e-002f; -float k_vortex_torque = 6.07753e-002f; +float k_vortex_force = 0.05f; +float k_vortex_torque = 0.0607753f; float k_vortex_attraction = 4.f; float k_vortex_lift = 1.2f; diff --git a/MechoSoma/Xreal/gen_camera.cpp b/MechoSoma/Xreal/gen_camera.cpp index e33718ae..6c3f4bdb 100644 --- a/MechoSoma/Xreal/gen_camera.cpp +++ b/MechoSoma/Xreal/gen_camera.cpp @@ -1,7 +1,7 @@ ////////////////////////////////////////////////////////////////////////////////////////////// // XScript definition // Section: CameraPrm -// Number of variables: 87 +// Number of variables: 85 // This is computer generated code, don't try to change it ////////////////////////////////////////////////////////////////////////////////////////////// float fCamera = 512.f; @@ -9,24 +9,24 @@ int camera_integration_steps = 1; float camera_distance_min = 30.f; int enable_zoom_by_wheel = 1; float camera_mouse_wheel_sensitivity = 0.125f; -float camera_zoom_sensitivity = 1.e-002f; -float camera_slope_mass_inv = 2.e-003f; -float camera_water_slope_mass_inv = 1.e-003f; -float camera_turn_mass_inv = 3.e-003f; -float camera_distance_mass_inv = 1.e-003f; -float camera_centering_mass_inv = 1.e-003f; -float camera_const_input_mass_inv = 3.e-003f; +float camera_zoom_sensitivity = 0.01f; +float camera_slope_mass_inv = 0.002f; +float camera_water_slope_mass_inv = 0.001f; +float camera_turn_mass_inv = 0.025f; +float camera_distance_mass_inv = 0.001f; // orig 0.0001 +float camera_centering_mass_inv = 0.001f; +float camera_const_input_mass_inv = 0.003f; float camera_damping_factor = 1.9f; float camera_position_mass_inv_cliped = 0.1f; float camera_slope_mass_inv_cliped_up = 0.1f; -float camera_slope_mass_inv_cliped_down = 5.e-003f; -float camera_turn_mass_inv_cliped = 5.e-002f; +float camera_slope_mass_inv_cliped_down = 0.005f; +float camera_turn_mass_inv_cliped = 0.05f; float camera_distance_mass_inv_cliped = 0.6f; float camera_damping_factor_cliped = 3.f; int camera_setMode_interpolation_time = 1000; int camera_runStartTimeScenario_interpolation_time = 2000; int camera_setObserver_interpolation_time = 1000; -int camera_enable_clipping = 0; +int camera_enable_clipping = 1; int camera_enable_static_objects_clipping = 0; int camera_enable_gears_clipping = 1; float camera_angle_step = 0.1f; @@ -35,14 +35,14 @@ float camera_theta_dominance = 10.f; float camera_transparensy_distance = 35.f; float camera_transparensy_power = 3.5f; float clip_ray_radius = 20.f; -float clip_ray_t_min = 2.5e-002f; -float S2G_clip_ray_radius = 1.e-002f; +float clip_ray_t_min = 0.025f; +float S2G_clip_ray_radius = 0.01f; float camera_scroll_damping_factor = 1.9f; float camera_scroll_force_of_distance = 0.2f; float camera_scroll_mass_inv = 1.f; float camera_fly_stop_time_scale_x = 0.3f; float camera_fly_stop_time_scale_y = 0.3f; -float camera_scroll_move_of_distance = 2.e-003f; +float camera_scroll_move_of_distance = 0.002f; float camera_scroll_move_max = 200.f; float centering_delta_default = 0.2f; float centering_delta_max = 0.4f; @@ -60,12 +60,12 @@ float track_fly_z_offset = 90.f; int track_fly_enable_binary_search = 1; float track_fly_distance = 5.f; float track_fly_increment_initial = 1.f; -float track_fly_increment_epsilon = 5.e-003f; +float track_fly_increment_epsilon = 0.005f; float track_fly_increment = 0.1f; int rotation_when_stop_time_time = 250; float rotation_when_stop_time_speed = 1.f; float stop_time_z_offset = 50.f; -float stop_time_dxy = 1.e-003f; +float stop_time_dxy = 0.001f; // orig. 0.0001f float stop_time_max_step = 5.f; float stop_time_precision = 1.f; int stop_time_max_iterations = 100; @@ -73,7 +73,7 @@ float stop_time_hCamera = 512.f; float stop_time_share_radius_factor = 0.45f; float free_fly_body_radius = 40.f; float free_fly_max_climb_angle = 1.8f; -float free_fly_roll_angle_decrement_factor = 1.e-002f; +float free_fly_roll_angle_decrement_factor = 0.01f; int camera_new_clip = 1; int camera_new_clip_reuse_clipping_number = 4; int camera_new_clip_x_size = 15; diff --git a/MechoSoma/Xreal/gen_mechos.cpp b/MechoSoma/Xreal/gen_mechos.cpp index 249d5c3f..1f1c2111 100644 --- a/MechoSoma/Xreal/gen_mechos.cpp +++ b/MechoSoma/Xreal/gen_mechos.cpp @@ -11,28 +11,28 @@ float mechos_obstacle_slope_z = 0.6f; float horizontal_ellipsoid_factor = 1.5f; float horizontal_Ig_inv_z_factor = 1.f; float horizontal_k_restitution_plus_one = 1.4f; -float horizontal_velocity_relaxation_value = 1.e-002f; +float horizontal_velocity_relaxation_value = 0.01f; float mechos_collision_correction_restitution = 0.f; int enable_vertical_analytics = 0; float vertical_velocity_relaxation_value = 5.f; float mechos_diagonal_element_scaling_factor = 1.1f; float mechos_penalty_force_max = 300.f; -float mechos_tangent_velocity_min = 1.e-003f; -float mechos_free_brake_damping = 5.e-002f; -float mechos_free_brake_torque = 5.e-002f; +float mechos_tangent_velocity_min = 0.001f; +float mechos_free_brake_damping = 0.05f; +float mechos_free_brake_torque = 0.05f; float low_gear_velocity_threshould = 7.f; float low_gear_traction = 1.5f; float mechos_general_base_y = 25.f; -float mechos_rudder_speed_decrease_factor_bot = 2.e-002f; +float mechos_rudder_speed_decrease_factor_bot = 0.02f; int mechos_obstacle_rudder_enabled = 1; float max_rudder_angle_obstacle = 1.f; float mechos_obstacle_rudder_velocity_threshould = 10.f; float mechos_obstacle_rudder_pitch_threshould = 60.f; float mechos_obstacle_rudder_t_factor = 10.f; -float mechos_obstacle_rudder_t_avr_tau = 1.e-002f; +float mechos_obstacle_rudder_t_avr_tau = 0.01f; float mechos_obstacle_rudder_t_backward_wheel_start_threshould = 0.5f; float mechos_dragV_free = 0.f; -float mechos_dragW_free = 1.e-002f; +float mechos_dragW_free = 0.01f; float mechos_speed_bound_drag = 0.1f; float mechos_buoyancy = 0.15f; float k_rudder_water = 1.2f; @@ -45,7 +45,7 @@ float Vx_max_mechos = 8.f; float Wz_max_mechos = 1.2f; float V_brake_max = 30.f; float rudder_force_max_mechos = 25.f; -float dust_speed_factor = 1.25e-002f; +float dust_speed_factor = 0.0125f; float personage_rudder = 0.4f; float personage_traction = 10.f; float personage_buoyancy = 0.15f; @@ -65,10 +65,10 @@ float frozen_mechos_hit_velocity_threshould = 20.f; float hit_sound_velocity_threshould = 15.f; float mechos_upper_hit_velocity_threshould = 15.f; float mechos_upper_hit_theta_threshould = 0.7f; -float mechos_hit_velocity2sound_factor = 5.e-002f; -float terrain_hit_velocity2sound_factor = 5.e-002f; -float terrain_wheels_hit_velocity2sound_factor = 5.e-002f; -float mechos_wheels_sound_frequency_factor = 4.e-002f; +float mechos_hit_velocity2sound_factor = 0.05f; +float terrain_hit_velocity2sound_factor = 0.05f; +float terrain_wheels_hit_velocity2sound_factor = 0.05f; +float mechos_wheels_sound_frequency_factor = 0.04f; float mechos_sound_factor_low_threshould = -0.8f; int mechos_engine_sound_on_delay = 100; int mechos_engine_sound_off_delay = 100; @@ -87,17 +87,17 @@ float mechos_trail_dz = 2.f; float mechos_trail_length = 10.f; float mechos_trail_time = 5000.f; float mechos_trail_started_time = 50.f; -float ordinaryTrail[4] = { 0.f - , 0.f, 0.f, 0.5f }; +float ordinaryTrail[4] = { 0.f + , 0.f, 0.f, 0.5f }; float snowTrail[4] = { 1.f, 1.f, 1.f, 0.5f }; -float redSlimeTrail[4] = { 0.25f - , 5.e-002f, 0.15f, 0.5f }; +float redSlimeTrail[4] = { 0.25f + , 0.05f, 0.15f, 0.5f }; float greenSlimeTrail[4] = { 0.f, 0.5f, 0.f, 0.5f }; -float yellowSlimeTrail[4] = { 0.25f - , 0.5f, 0.f, 0.5f }; +float yellowSlimeTrail[4] = { 0.25f + , 0.5f, 0.f, 0.5f }; float blueSlimeTrail[4] = { 0.1f, 0.2f, 0.5f, 0.5f }; -float redTrackTrail[4] = { 1.f - , 0.2f, 0.f, 0.8f }; +float redTrackTrail[4] = { 1.f + , 0.2f, 0.f, 0.8f }; int main_period = 2000; int exult_period = 2000; int sadness_period = 3000; @@ -120,10 +120,10 @@ float teleportation_psi_error = 0.8f; float catch_width_general = 60.f; float catch_length_general = 30.f; float allowed_width_general = 25.f; -float k_distance_to_traction = 3.2e-003f; +float k_distance_to_traction = 0.0032f; float back_moving_ymax = 71.f; float back_moving_kmax = 0.989962f; -float backward_maneuver_threshold = 5.e-002f; +float backward_maneuver_threshold = 0.05f; float front_moving_kmax = 1.f; float curvature_factor = 300.f; float brake_lower_speed = 25.f; @@ -133,7 +133,7 @@ float min_relative_curvature = 0.8f; float max_relative_curvature = 1.2f; float curvature_denominator_anti_singular_addition = 6.f; float traction_avr_zero = 0.25f; -float traction_avr_tau = 7.5e-003f; +float traction_avr_tau = 0.0075f; float velocity_y_avr_zero = 2.f; float velocity_y_avr_tau = 0.1f; int backward_maneuver_obstacle_timer_duration = 800; @@ -160,13 +160,13 @@ int disorganize_duration = 1000; float part_swing_lift_force = 5.f; float part_swing_torque = 1.f; float mechos_teleportation_time = 1000.f; -float mechos_teleportation_rotation = 4.e-002f; +float mechos_teleportation_rotation = 0.04f; float mechos_teleportation_z_offset = 30.f; float upper_direction_penetration_max = 25.f; float lower_direction_penetration_max = 7.f; float horizontal_direction_penetration_max = 10.f; -float mechos_skidding_factor = 2.5e-002f; -float mechos_skidding_avr_tau = 5.e-002f; +float mechos_skidding_factor = 0.025f; +float mechos_skidding_avr_tau = 0.05f; float mechos_skidding_factor_sound_threshould = 1.f; int mechos_skidding_sound_on_delay = 50; int mechos_skidding_sound_pause = 600; diff --git a/MechoSoma/Xreal/gen_xreal.cpp b/MechoSoma/Xreal/gen_xreal.cpp index f18793a0..7a701d17 100644 --- a/MechoSoma/Xreal/gen_xreal.cpp +++ b/MechoSoma/Xreal/gen_xreal.cpp @@ -14,55 +14,55 @@ float fxlabServerQuantPeriod = 91.f; float fxlabGlobalTimeRateMs = 20.f; float fxlabParticleSystemScale = 1.f; float evolve_time_step_ms = 13.f; -float evolve_time_step = 7.e-002f; +float evolve_time_step = 0.07f; float real_time_to_evolve_time = 5.4f; float Gravity = 25.f; -float Density = 1.e-004f; +float Density = 0.0001f; float general_k_restitution_plus_one = 1.1f; float max_height_threshould = 1000.f; float max_velocity_threshould_general = 90.f; float max_velocity_threshould_meteorite = 140.f; float max_angular_velocity_threshould = 4.f; -float free_linear_damping = 5.e-002f; +float free_linear_damping = 0.05f; float free_angular_damping = 0.1f; float contact_linear_damping = 2.f; float contact_angular_damping = 2.f; float hit_reaction_velocity_threshould = 5.f; -float velocity_to_damage_factor = 1.e-002f; +float velocity_to_damage_factor = 0.01f; float press_reaction_force_threshould = 0.5f; float minimal_volume_level = 0.1f; -float archimedean_force_wave_time_factor = 5.e-003f; -float archimedean_force_wave_distance_factor = 8.e-002f; +float archimedean_force_wave_time_factor = 0.005f; +float archimedean_force_wave_distance_factor = 0.08f; float archimedean_force_wave_phase = 1.8f; float archimedean_force_damping = 0.1f; -float triangle_clip_epsilon = 1.e-002f; +float triangle_clip_epsilon = 0.01f; float get_placement_pose_water_dz = -5.f; int rest_system_enabled = 0; -float rest_force2_threshould = 1.e-007f; -float rest_torque2_threshould = 1.e-007f; -float rest_velocity2_threshould = 5.e-002f; -float rest_angular_velocity2_threshould = 5.e-002f; +float rest_force2_threshould = 0.0000001f; +float rest_torque2_threshould = 0.0000001f; +float rest_velocity2_threshould = 0.05f; +float rest_angular_velocity2_threshould = 0.05f; int constraint_impulse_calculation = 2; -float impulse_resolve_velocity_threshould = 1.e-002f; -float velocity_relaxation_value = 1.e-002f; +float impulse_resolve_velocity_threshould = 0.01f; +float velocity_relaxation_value = 0.01f; int constraint_force_calculation = 0; -float force_resolve_acceleration_threshould = 1.e-002f; -float acceleration_relaxation_value = 1.e-002f; -float penetration2acceleration_relaxation_factor = 1.e-002f; +float force_resolve_acceleration_threshould = 0.01f; +float acceleration_relaxation_value = 0.01f; +float penetration2acceleration_relaxation_factor = 0.01f; float impact_friction_factor = 1.f; float dynamic_friction_factor = 0.2f; float static_friction_factor = 0.4f; -float VelocityZeroThreshould = 1.e-003f; +float VelocityZeroThreshould = 0.001f; float MinDynamicFrictionVelocity = 0.5f; -float AccelerationZeroThreshould = 1.e-004f; -float FrictionZeroThreshould = 1.e-002f; +float AccelerationZeroThreshould = 0.0001f; +float FrictionZeroThreshould = 0.01f; float linear_projection_tolerance = 0.1f; int UseCollisionHandler = 0; int CollisionHandlerRelaxationType = 2; float CollisionHandlerRelaxationTime = 10.f; float CollisionHandlerTimeStep = 0.f; -float CollisionHandlerVelocityTolerance = 1.e-002f; -float CollisionHandlerPenetrationTolerance = 1.e-002f; +float CollisionHandlerVelocityTolerance = 0.01f; +float CollisionHandlerPenetrationTolerance = 0.01f; #ifdef _PRM_EDIT_ struct XRealPrm_ParameterSection : ParameterSection