- if(input_state[INP_FWD]) {
- player.cx += step[player.dir][0];
- player.cy += step[player.dir][1];
- prev_step = time_msec;
- printf("step[%d] %d,%d\n", player.dir, player.cx, player.cy);
- }
- if(input_state[INP_BACK]) {
- player.cx -= step[player.dir][0];
- player.cy -= step[player.dir][1];
- prev_step = time_msec;
- printf("step[%d] %d,%d\n", player.dir, player.cx, player.cy);
- }
- if(input_state[INP_LEFT]) {
- dir = (player.dir + 3) & 3;
- player.cx += step[dir][0];
- player.cy += step[dir][1];
- prev_step = time_msec;
- printf("step[%d] %d,%d\n", player.dir, player.cx, player.cy);
- }
- if(input_state[INP_RIGHT]) {
- dir = (player.dir + 1) & 3;
- player.cx += step[dir][0];
- player.cy += step[dir][1];
+ if(input_state[INP_FWD]) fwd++;
+ if(input_state[INP_BACK]) fwd--;
+ if(input_state[INP_LEFT]) right--;
+ if(input_state[INP_RIGHT]) right++;
+
+ if(fwd | right) {
+ move_player(&player, right, fwd);