|
|
|
@ -361,6 +361,9 @@ namespace gui { |
|
|
|
|
case KEY::X: |
|
|
|
|
event(Event::STAIRS_DOWN); |
|
|
|
|
break; |
|
|
|
|
case KEY::F5: |
|
|
|
|
take_screenshot(); |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
break; // ignored
|
|
|
|
|
} |
|
|
|
@ -519,6 +522,16 @@ namespace gui { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::take_screenshot() { |
|
|
|
|
auto size = $window.getSize(); |
|
|
|
|
sf::Texture shot{size}; |
|
|
|
|
shot.update($window); |
|
|
|
|
sf::Image out_img = shot.copyToImage(); |
|
|
|
|
|
|
|
|
|
bool worked = out_img.saveToFile("./screenshot.png"); |
|
|
|
|
dbc::check(worked, "Failed to write screenshot.png"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void FSM::next_level() { |
|
|
|
|
$levels.create_level($level.world); |
|
|
|
|
$level = $levels.next(); |
|
|
|
|