Narrow scope of random vectors

This commit is contained in:
Kp 2016-07-24 04:04:25 +00:00
parent 8a46462846
commit f671e6781d
5 changed files with 11 additions and 24 deletions

View file

@ -630,8 +630,7 @@ void ai_turn_towards_vector(const vms_vector &goal_vector, object_base &objp, fi
if (Seismic_tremor_magnitude) {
fix scale;
scale = fixdiv(2*Seismic_tremor_magnitude, Robot_info[get_robot_id(objp)].mass);
const auto &&rand_vec = make_random_vector();
vm_vec_scale_add2(new_fvec, rand_vec, scale);
vm_vec_scale_add2(new_fvec, make_random_vector(), scale);
}
vm_vector_2_matrix(objp.orient, new_fvec, nullptr, &objp.orient.rvec);
@ -1618,8 +1617,7 @@ static void compute_vis_and_vec(const vobjptridx_t objp, vms_vector &pos, ai_loc
delta_time = GameTime64 - Ai_cloak_info[cloak_index].last_time;
if (delta_time > F1_0*2) {
Ai_cloak_info[cloak_index].last_time = GameTime64;
const auto randvec = make_random_vector();
vm_vec_scale_add2(Ai_cloak_info[cloak_index].last_position, randvec, 8*delta_time );
vm_vec_scale_add2(Ai_cloak_info[cloak_index].last_position, make_random_vector(), 8 * delta_time);
}
auto dist = vm_vec_normalized_dir_quick(vec_to_player, Ai_cloak_info[cloak_index].last_position, pos);
@ -3753,8 +3751,7 @@ _exit_cheat:
vm_vec_scale(goal_vector, 2*(ConsoleObject->size + obj->size + (((objnum*4 + d_tick_count) & 63) << 12)));
auto goal_point = vm_vec_add(ConsoleObject->pos, goal_vector);
const auto rand_vec = make_random_vector();
vm_vec_scale_add2(goal_point, rand_vec, F1_0*8);
vm_vec_scale_add2(goal_point, make_random_vector(), F1_0*8);
const auto vec_to_goal = vm_vec_normalized_quick(vm_vec_sub(goal_point, obj->pos));
move_towards_vector(obj, vec_to_goal, 0);
ai_turn_towards_vector(vec_to_player, obj, robptr->turn_time[Difficulty_level]);

View file

@ -416,8 +416,7 @@ void do_controlcen_frame(const vobjptridx_t obj)
while ((d_rand() > rand_prob) && (count < 4))
#endif
{
const auto randvec = make_random_vector();
vm_vec_scale_add2(vec_to_goal, randvec, F1_0/scale_divisor);
vm_vec_scale_add2(vec_to_goal, make_random_vector(), F1_0/scale_divisor);
vm_vec_normalize_quick(vec_to_goal);
if (Game_mode & GM_MULTI)
multi_send_controlcen_fire(vec_to_goal, best_gun_num, obj);

View file

@ -430,8 +430,7 @@ void scrape_player_on_wall(const vobjptridx_t obj, const vsegptridx_t hitseg, sh
multi_digi_link_sound_to_pos(SOUND_VOLATILE_WALL_HISS,hitseg, 0, hitpt, 0, F1_0);
}
hit_dir = hitseg->sides[hitside].normals[0];
const auto rand_vec = make_random_vector();
vm_vec_scale_add2(hit_dir, rand_vec, F1_0/8);
vm_vec_scale_add2(hit_dir, make_random_vector(), F1_0/8);
vm_vec_normalize_quick(hit_dir);
bump_one_object(obj, hit_dir, F1_0*8);
@ -487,18 +486,15 @@ void scrape_player_on_wall(const vobjptridx_t obj, const vsegptridx_t hitseg, sh
const auto type = check_volatile_wall(obj, hitseg, hitside);
if (type != volatile_wall_result::none)
{
vms_vector hit_dir;
if ((GameTime64 > Last_volatile_scrape_sound_time + F1_0/4) || (GameTime64 < Last_volatile_scrape_sound_time)) {
Last_volatile_scrape_sound_time = GameTime64;
const auto sound = (type == volatile_wall_result::lava) ? SOUND_VOLATILE_WALL_HISS : SOUND_SHIP_IN_WATER;
multi_digi_link_sound_to_pos(sound, hitseg, 0, hitpt, 0, F1_0);
}
hit_dir = hitseg->sides[hitside].normals[0];
auto hit_dir = hitseg->sides[hitside].normals[0];
const auto rand_vec = make_random_vector();
vm_vec_scale_add2(hit_dir, rand_vec, F1_0/8);
vm_vec_scale_add2(hit_dir, make_random_vector(), F1_0/8);
vm_vec_normalize_quick(hit_dir);
bump_one_object(obj, hit_dir, F1_0*8);
}

View file

@ -1519,10 +1519,8 @@ void GameProcessFrame(void)
rotvel.x += rx;
rotvel.z += rz;
const auto rand_vec = make_random_vector();
const auto bump_amount = Fusion_charge > F1_0*2 ? Fusion_charge*4 : F1_0*4;
bump_one_object(console, rand_vec, bump_amount);
bump_one_object(console, make_random_vector(), bump_amount);
}
}

View file

@ -448,8 +448,7 @@ static void create_omega_blobs(const segptridx_t firing_segnum, const vms_vector
// Every so often, re-perturb blobs
if ((i % 4) == 3) {
const auto temp_vec = make_random_vector();
vm_vec_scale_add2(perturb_vec, temp_vec, F1_0/4);
vm_vec_scale_add2(perturb_vec, make_random_vector(), F1_0/4);
}
const auto temp_pos = vm_vec_scale_add(blob_pos, perturb_vec, perturb_array[i]);
@ -606,8 +605,7 @@ static void do_omega_stuff(const vobjptridx_t parent_objp, const vms_vector &fir
fvi_query fq;
fvi_info hit_data;
int fate;
const auto perturb_vec = make_random_vector();
const auto perturbed_fvec = vm_vec_scale_add(parent_objp->orient.fvec, perturb_vec, F1_0/16);
const auto &&perturbed_fvec = vm_vec_scale_add(parent_objp->orient.fvec, make_random_vector(), F1_0/16);
vm_vec_scale_add(goal_pos, firing_pos, perturbed_fvec, MAX_OMEGA_DIST);
fq.startseg = firing_segnum;
if (fq.startseg == segment_none) {
@ -2062,8 +2060,7 @@ static objptridx_t create_homing_missile(const vobjptridx_t objp, const objptrid
make_random_vector(vector_to_goal);
} else {
vm_vec_normalized_dir_quick(vector_to_goal, goal_obj->pos, objp->pos);
const auto random_vector = make_random_vector();
vm_vec_scale_add2(vector_to_goal, random_vector, F1_0/4);
vm_vec_scale_add2(vector_to_goal, make_random_vector(), F1_0/4);
vm_vec_normalize_quick(vector_to_goal);
}