1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-05-10 11:14:07 +00:00

rogueviz::ads:: fixed to LPS disabling after slides

This commit is contained in:
Zeno Rogue 2025-04-08 14:03:48 +02:00
parent 8ea06f9cef
commit e35d80f46e
2 changed files with 18 additions and 16 deletions

View File

@ -17,6 +17,8 @@ void set_default_keys();
vector<unique_ptr<ads_object>> rocks; vector<unique_ptr<ads_object>> rocks;
bool disable_ds_gen;
struct rock_generator { struct rock_generator {
ld cshift; ld cshift;
@ -190,10 +192,12 @@ struct rock_generator {
} }
void add_until(ld t) { void add_until(ld t) {
if(disable_ds_gen) return;
while(cshift < t) add_random(); while(cshift < t) add_random();
} }
void add_rsrc_until(ld t) { void add_rsrc_until(ld t) {
if(disable_ds_gen) return;
while(cshift < t) { while(cshift < t) {
ld rapidity = rand_range(0, 3); ld rapidity = rand_range(0, 3);
ld step = rand_range(.2, .5); ld step = rand_range(.2, .5);

View File

@ -126,6 +126,8 @@ slide relhell_tour[] = {
"Such effects can be also observed in this slide, although you still need to wait for a long time or move very fast. They will be more pronounced in Relative Hell, and in the later slides.", "Such effects can be also observed in this slide, although you still need to wait for a long time or move very fast. They will be more pronounced in Relative Hell, and in the later slides.",
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
add_ds_cleanup();
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
ads_game::run_ds_game_std(); ads_game::run_ds_game_std();
const ld sca = 100; const ld sca = 100;
tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5); tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5);
@ -149,10 +151,6 @@ slide relhell_tour[] = {
rockgen.cshift = 10; rockgen.cshift = 10;
}); });
if(mode == pmStart) {
add_ds_cleanup();
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
}
} }
}, },
@ -164,6 +162,8 @@ slide relhell_tour[] = {
"the previous slide.", "the previous slide.",
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
add_ds_cleanup();
ads_game::run_ds_game_std(); ads_game::run_ds_game_std();
const ld sca = 100; const ld sca = 100;
tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5); tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5);
@ -194,10 +194,6 @@ slide relhell_tour[] = {
rockgen.cshift = 10; rockgen.cshift = 10;
}); });
if(mode == pmStart) {
add_ds_cleanup();
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
}
} }
}, },
@ -206,6 +202,8 @@ slide relhell_tour[] = {
"Try to accelerate, then return to the yellow star. Your clock will be different than the clock of the star.", "Try to accelerate, then return to the yellow star. Your clock will be different than the clock of the star.",
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
add_ds_cleanup();
ads_game::run_ds_game_std(); ads_game::run_ds_game_std();
const ld sca = 100; const ld sca = 100;
tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5); tour::slide_backup(ds_simspeed, M_PI / 10 / sca * 5);
@ -215,16 +213,14 @@ slide relhell_tour[] = {
tour::slide_backup(pconf.scale, sca); tour::slide_backup(pconf.scale, sca);
tour::slide_backup(texture_off, true); tour::slide_backup(texture_off, true);
tour::slide_backup(view_proper_times, true); tour::slide_backup(view_proper_times, true);
tour::slide_backup(time_scale, 0.15);
tour::slide_backup(disable_ds_gen, true);
dynamicval<ld> fs(future_shown, -10); dynamicval<ld> fs(future_shown, -10);
ds_restart_scaled(); ds_restart_scaled();
tour::slide_backup(invincibility_pt, HUGE_VAL); tour::slide_backup(invincibility_pt, HUGE_VAL);
rockgen.cshift = 10; rockgen.cshift = 10;
}); });
if(mode == pmStart) {
add_ds_cleanup();
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
}
} }
}, },
@ -317,12 +313,10 @@ slide relhell_tour[] = {
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
ads_game::run_ds_game_std();
});
if(mode == pmStart) {
add_ds_cleanup(); add_ds_cleanup();
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); }); rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
} ads_game::run_ds_game_std();
});
} }
}, },
@ -385,6 +379,7 @@ slide relhell_tour[] = {
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
ads_game::run_ads_game_std(); ads_game::run_ads_game_std();
/* disable everything */ /* disable everything */
tour::slide_backup(pconf.alpha, 1); tour::slide_backup(pconf.alpha, 1);
@ -433,6 +428,7 @@ slide relhell_tour[] = {
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
ads_game::run_ads_game_std(); ads_game::run_ads_game_std();
/* disable everything */ /* disable everything */
tour::slide_backup(pconf.alpha, 0); tour::slide_backup(pconf.alpha, 0);
@ -462,6 +458,7 @@ slide relhell_tour[] = {
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
ads_game::run_ads_game_std(); ads_game::run_ads_game_std();
tour::slide_backup(pconf.alpha, 1); tour::slide_backup(pconf.alpha, 1);
rv_hook(hooks_pre_ads_start, 100, [] { rv_hook(hooks_pre_ads_start, 100, [] {
@ -483,6 +480,7 @@ slide relhell_tour[] = {
[] (presmode mode) { [] (presmode mode) {
setCanvas(mode, &ccolor::plain, [] { setCanvas(mode, &ccolor::plain, [] {
rogueviz::on_cleanup_or_next([] { lps_enable(nullptr); });
ads_game::run_ads_game_std(); ads_game::run_ads_game_std();
}); });
} }