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

View File

@ -651,16 +651,8 @@ void set_shotx() {
EX int shot_aa = 1;
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 != "")
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();
dynamicval<bool> v2(inHighQual, true);
apply();
models::configure();
if(history::on) {
ld len = (isize(history::v)-1) + 2 * history::extra_line_steps;
@ -1365,8 +1356,7 @@ EX bool record_animation() {
char buf[1000];
snprintf(buf, 1000, animfile.c_str(), i);
shot::take(buf);
rollback();
shot::take(buf, content);
}
lastticks = ticks = SDL_GetTicks();
return true;