246 |
void handle_events(); |
void handle_events(); |
247 |
void on_keydown(SDL_Event &e); |
void on_keydown(SDL_Event &e); |
248 |
void on_mousebutton(SDL_Event &e); |
void on_mousebutton(SDL_Event &e); |
249 |
|
void update_mouse_button_state(); |
250 |
void change_state(State newstate); |
void change_state(State newstate); |
251 |
void tick(double dtime); |
void tick(double dtime); |
252 |
void show_menu(); |
void show_menu(); |
386 |
ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer()); |
ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer()); |
387 |
// FX_Fade(video::FADEIN); |
// FX_Fade(video::FADEIN); |
388 |
flush_events(); |
flush_events(); |
389 |
|
update_mouse_button_state(); |
390 |
last_tick_time = SDL_GetTicks(); |
last_tick_time = SDL_GetTicks(); |
391 |
return true; |
return true; |
392 |
} |
} |
415 |
|
|
416 |
int sleeptime = 10 - (SDL_GetTicks()-last_tick_time); |
int sleeptime = 10 - (SDL_GetTicks()-last_tick_time); |
417 |
if (sleeptime > 0) |
if (sleeptime > 0) |
418 |
SDL_Delay(sleeptime); |
; //SDL_Delay(sleeptime); |
419 |
|
|
420 |
dtime=(SDL_GetTicks()-last_tick_time)/1000.0; |
dtime=(SDL_GetTicks()-last_tick_time)/1000.0; |
421 |
if (dtime > 500.0) /* Time has done something strange, perhaps |
if (dtime > 500.0) /* Time has done something strange, perhaps |
423 |
dtime = 0.0; |
dtime = 0.0; |
424 |
else if (dtime > 0.5) |
else if (dtime > 0.5) |
425 |
dtime = 0.5; |
dtime = 0.5; |
426 |
|
// if (dtime > 15.0/1000) |
427 |
|
// dtime = 15.0/1000; |
428 |
} |
} |
429 |
video::ShowMouse(); |
video::ShowMouse(); |
430 |
} |
} |
477 |
if (e.button.button == 1) { |
if (e.button.button == 1) { |
478 |
// left mousebutton -> activate first item in inventory |
// left mousebutton -> activate first item in inventory |
479 |
player::ActivateItem(); |
player::ActivateItem(); |
|
player::InhibitPickup(true); |
|
480 |
} |
} |
481 |
else if (e.button.button == 3) { |
else if (e.button.button == 3) { |
482 |
// right mousebutton -> rotate inventory |
// right mousebutton -> rotate inventory |
483 |
display::GetStatusBar()->hide_text(); |
display::GetStatusBar()->hide_text(); |
484 |
player::RotateInventory(); |
player::RotateInventory(); |
|
player::InhibitPickup(true); |
|
485 |
} |
} |
486 |
} |
} |
487 |
else { |
update_mouse_button_state(); |
488 |
// mouse button released -> allow picking up items |
} |
489 |
int b = SDL_GetMouseState(0, 0); |
|
490 |
if (!(b & SDL_BUTTON(1)) && !(b & SDL_BUTTON(3))) { |
void |
491 |
player::InhibitPickup(false); |
Game::update_mouse_button_state() |
492 |
} |
{ |
493 |
} |
int b = SDL_GetMouseState(0, 0); |
494 |
|
player::InhibitPickup((b & SDL_BUTTON(1)) || (b & SDL_BUTTON(3))); |
495 |
} |
} |
496 |
|
|
497 |
static void set_mousespeed(double spd) |
static void set_mousespeed(double spd) |
611 |
GameMenu m; |
GameMenu m; |
612 |
m.manage(scr); |
m.manage(scr); |
613 |
video::HideMouse(); |
video::HideMouse(); |
614 |
|
update_mouse_button_state(); |
615 |
last_tick_time = SDL_GetTicks(); |
last_tick_time = SDL_GetTicks(); |
616 |
if (state != ABORT) |
if (state != ABORT) |
617 |
display::RedrawAll(get_screen()); |
display::RedrawAll(get_screen()); |