src/video/sdl_v.cpp
changeset 9082 8217cb013e23
parent 8929 a8732ed52252
child 10247 145d0458b685
equal deleted inserted replaced
9081:4c47047836f3 9082:8217cb013e23
   488 		if (cur_ticks >= next_tick || (_fast_forward && !_pause_game) || cur_ticks < prev_cur_ticks) {
   488 		if (cur_ticks >= next_tick || (_fast_forward && !_pause_game) || cur_ticks < prev_cur_ticks) {
   489 			_realtime_tick += cur_ticks - last_cur_ticks;
   489 			_realtime_tick += cur_ticks - last_cur_ticks;
   490 			last_cur_ticks = cur_ticks;
   490 			last_cur_ticks = cur_ticks;
   491 			next_tick = cur_ticks + 30;
   491 			next_tick = cur_ticks + 30;
   492 
   492 
       
   493 			bool old_ctrl_pressed = _ctrl_pressed;
       
   494 
   493 			_ctrl_pressed  = !!(mod & KMOD_CTRL);
   495 			_ctrl_pressed  = !!(mod & KMOD_CTRL);
   494 			_shift_pressed = !!(mod & KMOD_SHIFT);
   496 			_shift_pressed = !!(mod & KMOD_SHIFT);
   495 
   497 
   496 			// determine which directional keys are down
   498 			// determine which directional keys are down
   497 			_dirkeys =
   499 			_dirkeys =
   498 				(keys[SDLK_LEFT]  ? 1 : 0) |
   500 				(keys[SDLK_LEFT]  ? 1 : 0) |
   499 				(keys[SDLK_UP]    ? 2 : 0) |
   501 				(keys[SDLK_UP]    ? 2 : 0) |
   500 				(keys[SDLK_RIGHT] ? 4 : 0) |
   502 				(keys[SDLK_RIGHT] ? 4 : 0) |
   501 				(keys[SDLK_DOWN]  ? 8 : 0);
   503 				(keys[SDLK_DOWN]  ? 8 : 0);
       
   504 
       
   505 			if (old_ctrl_pressed != _ctrl_pressed) HandleCtrlChanged();
       
   506 
   502 			GameLoop();
   507 			GameLoop();
   503 
   508 
   504 			_screen.dst_ptr = _sdl_screen->pixels;
   509 			_screen.dst_ptr = _sdl_screen->pixels;
   505 			UpdateWindows();
   510 			UpdateWindows();
   506 			if (++pal_tick > 4) {
   511 			if (++pal_tick > 4) {