Ticket #656: var_speed_patch.diff

File var_speed_patch.diff, 1.2 KB (added by jwernerny -2-, 10 years ago)

Patch to vehicle_demo.c to give it random (variable) speed.

  • navit/vehicle/demo/vehicle_demo.c

     
    11/**
    22 * Navit, a modular navigation system.
    3  * Copyright (C) 2005-2008 Navit Team
     3 * Copyright (C) 2005-2008, 2010 Navit Team
    44 *
    55 * This program is free software; you can redistribute it and/or
    66 * modify it under the terms of the GNU General Public License
     
    1717 * Boston, MA  02110-1301, USA.
    1818 */
    1919
     20#include <stdlib.h>                                             /* for rand() and RAND_MAX */
    2021#include <glib.h>
    2122#include <string.h>
    2223#include "config.h"
     
    145146                                        ci.y = pos.y + dy * len / slen;
    146147                                        priv->direction =
    147148                                            transform_get_angle_delta(&pos, &c, 0);
    148                                         priv->speed=priv->config_speed;
     149                                        /* priv->speed=priv->config_speed; */
     150                                        /* speed changes so that it should accelerate more than it
     151                                         * slows down.  - jwerner */
     152                                        priv->speed += 0.25 * ((priv->config_speed * ((double) rand() / (double) RAND_MAX)) - (priv->config_speed * 0.4));
     153                                        if (priv->speed < (0.25 * priv->config_speed))
     154                                                priv->speed = 0.25 * priv->config_speed;
     155                                        if (priv->speed > (4.0 * priv->config_speed))
     156                                                priv->speed = 4.0 * priv->config_speed;
     157                                       
    149158                                } else {
    150159                                        ci.x = pos.x;
    151160                                        ci.y = pos.y;