106 |
//---------------------------------------- |
//---------------------------------------- |
107 |
|
|
108 |
GameMenu::GameMenu() |
GameMenu::GameMenu() |
109 |
: resume(new gui::TextButton("Resume Level", this)), |
: resume(new gui::TextButton("Resume Level", this)), |
110 |
restart(new gui::TextButton("Restart Level", this)), |
restart(new gui::TextButton("Restart Level", this)), |
111 |
options(new gui::TextButton("Options", this)), |
options(new gui::TextButton("Options", this)), |
112 |
abort(new gui::TextButton("Abort Level", this)) |
abort(new gui::TextButton("Abort Level", this)) |
113 |
{ |
{ |
114 |
add(resume, Rect(0,0,150,40)); |
add(resume, Rect(0,0,150,40)); |
115 |
add(restart, Rect(0,45,150,40)); |
add(restart, Rect(0,45,150,40)); |
154 |
// HelpMenu impl |
// HelpMenu impl |
155 |
//---------------------------------------- |
//---------------------------------------- |
156 |
HelpMenu::HelpMenu() |
HelpMenu::HelpMenu() |
157 |
: ok(new gui::TextButton("Ok", this)) |
: ok(new gui::TextButton("Ok", this)) |
158 |
{ |
{ |
159 |
add(ok, Rect(640-170,480-60,150,40)); |
add(ok, Rect(640-170,480-60,150,40)); |
160 |
} |
} |
459 |
if( ! world::Load(levels[icurrent_level].filename)) |
if( ! world::Load(levels[icurrent_level].filename)) |
460 |
return false; |
return false; |
461 |
|
|
462 |
|
display::FocusReferencePoint(); |
463 |
|
|
464 |
GC gc(video::BackBuffer()); |
GC gc(video::BackBuffer()); |
465 |
display::DrawAll(gc); |
display::DrawAll(gc); |
466 |
ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer()); |
ShowScreen(video::TM_PUSH_RANDOM, video::BackBuffer()); |
542 |
static void |
static void |
543 |
mouse_force(int xrel, int yrel) |
mouse_force(int xrel, int yrel) |
544 |
{ |
{ |
545 |
px::V3 force(xrel, yrel,0); |
px::V2 force(xrel, yrel); |
546 |
double f = length(force); |
double f = length(force); |
547 |
if (f > 0) |
if (f > 0) |
548 |
{ |
{ |
615 |
} |
} |
616 |
} |
} |
617 |
|
|
|
// static void set_frictionfactor(double f) |
|
|
// { |
|
|
// if (f > 0 && f < 10) { |
|
|
// display::StatusBar *sb = display::GetStatusBar(); |
|
|
// char msg[200]; |
|
|
// f = int(2*f)/2.0; |
|
|
// options::FrictionFactor = f; |
|
|
// sprintf(msg, "Friction: %g", f); |
|
|
// sb->show_text(msg, display::TEXT_2SECONDS); |
|
|
// } |
|
|
// } |
|
|
|
|
618 |
void |
void |
619 |
Game::on_keydown(SDL_Event &e) |
Game::on_keydown(SDL_Event &e) |
620 |
{ |
{ |
625 |
|
|
626 |
case SDLK_LEFT: set_mousespeed(options::MouseSpeed - 1); break; |
case SDLK_LEFT: set_mousespeed(options::MouseSpeed - 1); break; |
627 |
case SDLK_RIGHT: set_mousespeed(options::MouseSpeed + 1); break; |
case SDLK_RIGHT: set_mousespeed(options::MouseSpeed + 1); break; |
|
// case SDLK_PAGEUP: |
|
|
// set_frictionfactor (options::FrictionFactor+0.5); |
|
|
// break; |
|
|
// case SDLK_PAGEDOWN: |
|
|
// set_frictionfactor (options::FrictionFactor-0.5); |
|
|
// break; |
|
628 |
|
|
629 |
case SDLK_F1: |
case SDLK_F1: |
630 |
show_help(); |
show_help(); |