~ubuntu-branches/ubuntu/trusty/blender/trusty-proposed

« back to all changes in this revision

Viewing changes to source/blender/blenkernel/intern/boids.c

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2013-08-14 10:43:49 UTC
  • mfrom: (14.2.19 sid)
  • Revision ID: package-import@ubuntu.com-20130814104349-t1d5mtwkphp12dyj
Tags: 2.68a-3
* Upload to unstable
* debian/: python3.3 Depends simplified
  - debian/control: python3.3 Depends dropped
    for blender-data package
  - 0001-blender_thumbnailer.patch refreshed
* debian/control: libavcodec b-dep versioning dropped

Show diffs side-by-side

added added

removed removed

Lines of Context:
234
234
                        if (dot_v3v3(col.pce.nor, pa->prev_state.ave) < -0.99f) {
235
235
                                /* don't know why, but uneven range [0.0, 1.0] */
236
236
                                /* works much better than even [-1.0, 1.0] */
237
 
                                bbd->wanted_co[0] = BLI_frand();
238
 
                                bbd->wanted_co[1] = BLI_frand();
239
 
                                bbd->wanted_co[2] = BLI_frand();
 
237
                                bbd->wanted_co[0] = BLI_rng_get_float(bbd->rng);
 
238
                                bbd->wanted_co[1] = BLI_rng_get_float(bbd->rng);
 
239
                                bbd->wanted_co[2] = BLI_rng_get_float(bbd->rng);
240
240
                        }
241
241
                        else {
242
242
                                copy_v3_v3(bbd->wanted_co, col.pce.nor);
558
558
 
559
559
        if (asbr->wander > 0.0f) {
560
560
                /* abuse pa->r_ave for wandering */
561
 
                bpa->wander[0] += asbr->wander * (-1.0f + 2.0f * BLI_frand());
562
 
                bpa->wander[1] += asbr->wander * (-1.0f + 2.0f * BLI_frand());
563
 
                bpa->wander[2] += asbr->wander * (-1.0f + 2.0f * BLI_frand());
 
561
                bpa->wander[0] += asbr->wander * (-1.0f + 2.0f * BLI_rng_get_float(bbd->rng));
 
562
                bpa->wander[1] += asbr->wander * (-1.0f + 2.0f * BLI_rng_get_float(bbd->rng));
 
563
                bpa->wander[2] += asbr->wander * (-1.0f + 2.0f * BLI_rng_get_float(bbd->rng));
564
564
 
565
565
                normalize_v3(bpa->wander);
566
566
 
586
586
 
587
587
                /* may happen at birth */
588
588
                if (dot_v2v2(bbd->wanted_co, bbd->wanted_co)==0.0f) {
589
 
                        bbd->wanted_co[0] = 2.0f*(0.5f - BLI_frand());
590
 
                        bbd->wanted_co[1] = 2.0f*(0.5f - BLI_frand());
591
 
                        bbd->wanted_co[2] = 2.0f*(0.5f - BLI_frand());
 
589
                        bbd->wanted_co[0] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
 
590
                        bbd->wanted_co[1] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
 
591
                        bbd->wanted_co[2] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
592
592
                }
593
593
                
594
594
                /* leveling */
663
663
 
664
664
                /* attack if in range */
665
665
                if (closest_dist <= bbd->part->boids->range + pa->size + enemy_pa->size) {
666
 
                        float damage = BLI_frand();
 
666
                        float damage = BLI_rng_get_float(bbd->rng);
667
667
                        float enemy_dir[3];
668
668
 
669
669
                        normalize_v3_v3(enemy_dir, bbd->wanted_co);
981
981
                        rule = BLI_findlink(&state->rules, rand % BLI_countlist(&state->rules));
982
982
 
983
983
                        apply_boid_rule(bbd, rule, &val, pa, -1.0);
 
984
                        break;
984
985
                }
985
986
                case eBoidRulesetType_Average:
986
987
                {
1164
1165
                        /* choose random direction to turn if wanted velocity */
1165
1166
                        /* is directly behind regardless of z-coordinate */
1166
1167
                        if (dot_v2v2(old_dir2, wanted_dir2) < -0.99f) {
1167
 
                                wanted_dir[0] = 2.0f*(0.5f - BLI_frand());
1168
 
                                wanted_dir[1] = 2.0f*(0.5f - BLI_frand());
1169
 
                                wanted_dir[2] = 2.0f*(0.5f - BLI_frand());
 
1168
                                wanted_dir[0] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
 
1169
                                wanted_dir[1] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
 
1170
                                wanted_dir[2] = 2.0f*(0.5f - BLI_rng_get_float(bbd->rng));
1170
1171
                                normalize_v3(wanted_dir);
1171
1172
                        }
1172
1173