home *** CD-ROM | disk | FTP | other *** search
/ 3D Games (Spidla) / 3dhry1.iso / carterrain / src / controls.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2003-03-17  |  808 b   |  42 lines

  1. #include <allegro.h>
  2. #include "camera.h"
  3. #include "controls.h"
  4.  
  5. void CControls::set_keys(int f, int b, int l, int r, int br, int c, int li)
  6. {
  7.   forward=f;
  8.   backward=b;
  9.   left=l;
  10.   right=r;
  11.   brake=br;
  12.   camera=c;
  13.   lift=li;
  14. }
  15.  
  16. void CControls::work(CCar & car, CCamera & cam, double m)
  17. {
  18.   if(key[lift])
  19.     car.fly();
  20.  
  21.   car.set_engine(CARENGINE_COAST);
  22.   if(key[forward])
  23.     car.set_engine(CARENGINE_FORWARD);
  24.   if(key[backward])
  25.     car.set_engine(CARENGINE_REVERSE);
  26.   if(key[brake])
  27.     car.set_engine(CARENGINE_BRAKE);
  28.   
  29.   if(!key[right] && !key[left])
  30.     car.set_steer(0);
  31.   if(key[right])
  32.     car.add_steer(0.6*m);
  33.   if(key[left])
  34.     car.add_steer(-0.6*m);
  35.   
  36.   if(key[camera])
  37.     {
  38.       cam.set_mode((cam.get_mode()+1)%3);
  39.       key[camera]=0;
  40.     }
  41. }
  42.