1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-16 10:19:58 +00:00

shot:: default_screenshot_content now calls gamescreen, which correctly renders multi-game and some other things

This commit is contained in:
Zeno Rogue 2020-11-14 13:17:55 +01:00
parent 62b6b4ec3b
commit 8a5d4db2c3
2 changed files with 4 additions and 16 deletions

View File

@ -4998,12 +4998,10 @@ EX void gamescreen(int _darken) {
return; return;
} }
auto cdc = *current_display;
auto gx = vid.xres; auto gx = vid.xres;
auto gy = vid.yres; auto gy = vid.yres;
if(dual::split([=] () { if(dual::split([=] () {
*current_display = cdc;
vid.xres = gx; vid.xres = gx;
vid.yres = gy; vid.yres = gy;
dual::in_subscreen([=] () { gamescreen(_darken); }); dual::in_subscreen([=] () { gamescreen(_darken); });
@ -5014,7 +5012,7 @@ EX void gamescreen(int _darken) {
calcparam(); calcparam();
if((cmode & sm::MAYDARK) && !current_display->sidescreen) { if((cmode & sm::MAYDARK) && !current_display->sidescreen && !inHighQual) {
_darken += 2; _darken += 2;
} }
@ -5039,7 +5037,7 @@ EX void gamescreen(int _darken) {
buttonclicked = false; buttonclicked = false;
if((cmode & sm::NORMAL) && vid.stereo_mode != sLR) { if((cmode & sm::NORMAL) && vid.stereo_mode != sLR && !inHighQual) {
if(andmode == 0 && shmup::on) { if(andmode == 0 && shmup::on) {
using namespace shmupballs; using namespace shmupballs;
calc(); calc();

View File

@ -651,16 +651,8 @@ void set_shotx() {
EX int shot_aa = 1; EX int shot_aa = 1;
EX void default_screenshot_content() { EX void default_screenshot_content() {
#if CAP_RUG
if(rug::rugged) {
if(rug::in_crystal()) rug::physics();
rug::drawRugScene();
}
else
#endif
drawfullmap();
rots::draw_underlying(false); gamescreen(0);
if(caption != "") if(caption != "")
displayfr(vid.xres/2, vid.fsize+vid.fsize/4, 3, vid.fsize*2, caption, forecolor, 8); displayfr(vid.xres/2, vid.fsize+vid.fsize/4, 3, vid.fsize*2, caption, forecolor, 8);
@ -1353,7 +1345,6 @@ EX bool record_animation() {
} }
if(playermoved) centerpc(INF), optimizeview(); if(playermoved) centerpc(INF), optimizeview();
dynamicval<bool> v2(inHighQual, true); dynamicval<bool> v2(inHighQual, true);
apply();
models::configure(); models::configure();
if(history::on) { if(history::on) {
ld len = (isize(history::v)-1) + 2 * history::extra_line_steps; ld len = (isize(history::v)-1) + 2 * history::extra_line_steps;
@ -1365,8 +1356,7 @@ EX bool record_animation() {
char buf[1000]; char buf[1000];
snprintf(buf, 1000, animfile.c_str(), i); snprintf(buf, 1000, animfile.c_str(), i);
shot::take(buf); shot::take(buf, content);
rollback();
} }
lastticks = ticks = SDL_GetTicks(); lastticks = ticks = SDL_GetTicks();
return true; return true;