diff --git a/rogueviz/embedded-chess.cpp b/rogueviz/embedded-chess.cpp index 1d0561cf..03bb2c3d 100644 --- a/rogueviz/embedded-chess.cpp +++ b/rogueviz/embedded-chess.cpp @@ -1497,7 +1497,7 @@ void geodesic_screen(tour::presmode mode, int id) { static hyperpoint start, middle, target, nlh, nlh1, nlh2; const ld coord = 10; - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { slide_backup(pmodel); slide_backup(pconf.clip_min); @@ -1686,7 +1686,7 @@ slide embchess_slides[] = { "to access various options. The next slides are slides from that video.\n\n", [] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); slide_url(mode, 'y', "YouTube link", "https://youtu.be/Rhjv_PazzZE"); slide_action(mode, 'a', "activate / configure", act_or_config); if(mode == pmKey) act_or_config(); diff --git a/rogueviz/fifteen.cpp b/rogueviz/fifteen.cpp index a4b1073e..387c1084 100644 --- a/rogueviz/fifteen.cpp +++ b/rogueviz/fifteen.cpp @@ -469,7 +469,7 @@ auto fifteen_hook = slide_error(mode, "file " + fname + " not found"); return; } - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { slide_backup(mapeditor::drawplayer, mapeditor::drawplayer); slide_backup(vid.wallmode, 2); diff --git a/rogueviz/flocking.cpp b/rogueviz/flocking.cpp index 2cf0ac39..7436bf51 100644 --- a/rogueviz/flocking.cpp +++ b/rogueviz/flocking.cpp @@ -556,7 +556,7 @@ bool drawVertex(const shiftmatrix &V, cell *c, shmup::monster *m) { void flock_slide(tour::presmode mode, int _N, reaction_t t) { using namespace tour; - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { slide_backup(mapeditor::drawplayer); t(); diff --git a/rogueviz/heatx.cpp b/rogueviz/heatx.cpp index dc6ae2d1..b10a20c0 100644 --- a/rogueviz/heatx.cpp +++ b/rogueviz/heatx.cpp @@ -167,7 +167,7 @@ void heat_slide(vector& v, string title, string desc, reaction_t t) tour::slide{cap + title, 18, LEGAL::NONE | QUICKGEO, desc, [t] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); slide_backup(vid.use_smart_range, 2); slide_backup(vid.smart_range_detail, 1); slide_backup(vid.cells_drawn_limit, 100000); diff --git a/rogueviz/hypcity.cpp b/rogueviz/hypcity.cpp index 9991ca38..d699db3b 100644 --- a/rogueviz/hypcity.cpp +++ b/rogueviz/hypcity.cpp @@ -131,16 +131,14 @@ auto hypcity_ah = arg::add3("-hypcity", enable) if(mode == pmStart && dim == 2 && !vid.always3) { geom3::switch_fpp(); } - setCanvas(mode, '0'); - if(mode == pmStart) { + setWhiteCanvas(mode, [setter, dim] { slide_backup(canvas_default_wall, waInvisibleFloor); if(dim == 2) slide_backup(vid.camera, 0); if(dim == 2) slide_backup(vid.depth, 0); slide_backup(context_fog, false); setter(); - start_game(); - enable(); - } + }); + if(mode == pmStart) enable(); non_game_slide_scroll(mode); }}); }; diff --git a/rogueviz/hyperbolic-analogs.cpp b/rogueviz/hyperbolic-analogs.cpp index 4c506bd6..8ebfbd52 100644 --- a/rogueviz/hyperbolic-analogs.cpp +++ b/rogueviz/hyperbolic-analogs.cpp @@ -436,7 +436,7 @@ auto msc = arg::add3("-analogs", enable) [] (presmode mode) { slide_url(mode, 'y', "YouTube link (with description)", "https://youtu.be/H7NKhKTjHVE"); slide_url(mode, 'm', "HyperRogue page about projections", "http://www.roguetemple.com/z/hyper/models.php"); - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { slide_backup(mapeditor::drawplayer); slide_backup(vid.use_smart_range); diff --git a/rogueviz/hyperbolic-minesweeper-pres.cpp b/rogueviz/hyperbolic-minesweeper-pres.cpp index 13197f74..ca73ae13 100644 --- a/rogueviz/hyperbolic-minesweeper-pres.cpp +++ b/rogueviz/hyperbolic-minesweeper-pres.cpp @@ -247,7 +247,7 @@ vector current_list; void mine_slide(tour::presmode mode, reaction_t set_geom, function()> celllister, function assigner) { using namespace tour; ccolor::plain.ctab = {0}; - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { slide_backup(mapeditor::drawplayer, false); slide_backup(no_find_player, true); @@ -299,7 +299,7 @@ using namespace rogueviz::pres; void wfc_slide(presmode mode, int type, int rad, int cutoff) { static vector> colors; - setCanvas(mode, '0'); + setWhiteCanvas(mode); dynamic_wfc::wfctype = type; dynamic_wfc::wfcrad = rad; dynamic_wfc::cutoff = cutoff; @@ -419,7 +419,7 @@ slide sweeper_slides[] = { {"Variants: HyperRogue minefield", 123, LEGAL::ANY | QUICKGEO, "The other one is the Minefield land in HyperRogue. It is heavily modified from the original but the basic idea stays the same.", [] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { stop_game(); firstland = specialland = laMinefield; @@ -509,7 +509,7 @@ slide sweeper_slides[] = { "For creatures restricted to just this surface, they are indeed striaght lines!\n\n" , [] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(mode == pmStart) { tour::slide_backup(mapeditor::drawplayer, false); enable_earth(); @@ -538,17 +538,13 @@ slide sweeper_slides[] = { "The hyperbolic geometry is the opposite. We can have a pentagon with five right angles.\n\n" , [] (presmode mode) { - setCanvas(mode, 'c'); - if(mode == pmStart) { - stop_game(); + setCanvas(mode, &ccolor::chessboard, [] { set_geometry(g45); set_variation(eVariation::pure); - tour::slide_backup(ccolor::chessboard.ctab[0], 0x104010); - tour::slide_backup(ccolor::chessboard.ctab[1], 0x10F010); + tour::slide_backup(ccolor::chessboard.ctab, colortable{0x104010, 0x10F010}); tour::slide_backup(vid.use_smart_range, 2); tour::slide_backup(vid.smart_range_detail, 1); - start_game(); - } + }); // mine_slide(mode, geom_pentagos, cl_pentagons, chessboard_assigner); non_game_slide_scroll(mode); tour::slide_backup(draw_centerover, false); @@ -559,14 +555,12 @@ slide sweeper_slides[] = { "The hyperbolic plane has a tree-like structure. It is best seen in the 'binary tiling'. Press '5' to show the pattern.\n\n" , [] (presmode mode) { - setCanvas(mode, 'g'); - non_game_slide_scroll(mode); - if(mode == pmStart) { - tour::slide_backup(ccolor::plain.ctab[0], 0x10A010); - stop_game(); + setCanvasColor(mode, 0x10A010, [] { set_geometry(gBinary4); set_variation(eVariation::pure); - start_game(); + }); + non_game_slide_scroll(mode); + if(mode == pmStart) { tour::slide_backup(vid.use_smart_range, 2); tour::slide_backup(vid.smart_range_detail, 1); View = spin90(); @@ -589,13 +583,12 @@ slide sweeper_slides[] = { "Other hyperbolic tessellations have a similar structure, just a bit more complicated...\n\n" , [] (presmode mode) { - setCanvas(mode, '0'); - non_game_slide_scroll(mode); - if(mode == pmStart) { - stop_game(); + setWhiteCanvas(mode, [] { set_variation(eVariation::pure); tour::slide_backup(vid.creature_scale, 0.5); - start_game(); + }); + non_game_slide_scroll(mode); + if(mode == pmStart) { tour::slide_backup(viewdists, true); using linepatterns::patTree; tour::slide_backup(patTree.color, 0xFFFFFFFF); @@ -837,14 +830,12 @@ slide sweeper_slides[] = { "To see this, let's remind you of the binary tiling..." , [] (presmode mode) { - setCanvas(mode, 'g'); - non_game_slide_scroll(mode); - if(mode == pmStart) { - tour::slide_backup(ccolor::plain.ctab[0], 0x10A010); - stop_game(); + setCanvasColor(mode, 0x10A010, [] { set_geometry(gBinary4); set_variation(eVariation::pure); - start_game(); + }); + non_game_slide_scroll(mode); + if(mode == pmStart) { tour::slide_backup(vid.use_smart_range, 2); tour::slide_backup(vid.smart_range_detail, 1); View = spin90(); diff --git a/rogueviz/impossible-ring.cpp b/rogueviz/impossible-ring.cpp index 8e36598b..6e7a9798 100644 --- a/rogueviz/impossible-ring.cpp +++ b/rogueviz/impossible-ring.cpp @@ -284,7 +284,12 @@ auto hchook = [] (presmode mode) { slide_url(mode, 'y', "YouTube link", "https://youtu.be/3WejR74o6II"); - setCanvas(mode, '0'); + setWhiteCanvas(mode, [] { + set_geometry(gNil); + tour::on_restore(nilv::set_flags); + tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3)); + nilv::set_flags(); + }); slidecommand = "animation"; if(mode == pmKey) { @@ -292,14 +297,8 @@ auto hchook = } if(mode == pmStart) { - stop_game(); - set_geometry(gNil); tour::slide_backup(mapeditor::drawplayer, false); tour::slide_backup(smooth_scrolling, true); - tour::on_restore(nilv::set_flags); - tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3)); - nilv::set_flags(); - start_game(); playermoved = false; enable(); } diff --git a/rogueviz/inner-maps.cpp b/rogueviz/inner-maps.cpp index 54d21c5c..fd71e6aa 100644 --- a/rogueviz/inner-maps.cpp +++ b/rogueviz/inner-maps.cpp @@ -324,7 +324,7 @@ auto hook = arg::add3("-inner-map", enable) , [] (presmode mode) { slide_url(mode, 't', "Twitter link (with description)", "https://twitter.com/zenorogue/status/1212408644941295619"); - setCanvas(mode, 'r'); + setCanvas(mode, &ccolor::random, [] { slide_backup(ccolor::rwalls, 0); }); if(mode == pmStart) { if(!shmup::on) restart_game(rg::shmup); diff --git a/rogueviz/intra-demos.cpp b/rogueviz/intra-demos.cpp index 9960cb38..04aed4d1 100644 --- a/rogueviz/intra-demos.cpp +++ b/rogueviz/intra-demos.cpp @@ -598,7 +598,7 @@ auto hooks = v.push_back(tour::slide{ s, 10, tour::LEGAL::NONE | tour::QUICKSKIP | tour::QUICKGEO | tour::ALWAYS_TEXT, desc, [=] (tour::presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); if(youtube != "") slide_url(mode, 'y', "YouTube link", youtube); if(twitter != "") diff --git a/rogueviz/noniso-honeycombs.cpp b/rogueviz/noniso-honeycombs.cpp index bc384854..be59eb56 100644 --- a/rogueviz/noniso-honeycombs.cpp +++ b/rogueviz/noniso-honeycombs.cpp @@ -12,8 +12,7 @@ bool in_special = false; auto geoslide(eGeometry g, char canvas, int jhole, int jblock) { using namespace tour; return [=] (presmode mode) { - setCanvas(mode, '0'); - if(mode == pmStart) { + setWhiteCanvas(mode, [&] { set_geometry(g); if(g == gSphere) { set_geometry(gProduct); @@ -31,12 +30,11 @@ auto geoslide(eGeometry g, char canvas, int jhole, int jblock) { tour::slide_backup(ccolor::jblock, jblock); tour::slide_backup(ccolor::which, ccolor::legacy(canvas)); tour::slide_backup(vid.linewidth, vid.linewidth / 10); - start_game(); if(jblock < 0) { pmodel = mdDisk; sightranges[gSol] = 4; } - } + }); rogueviz::pres::non_game_slide_scroll(mode); if(mode == pmStop && jblock < 0) pmodel = mdGeodesic; @@ -163,11 +161,9 @@ tour::slide *gen_noniso_demo() { "This is a presentation of non-isotropic geometries.", [] (presmode mode) { slide_url(mode, 'p', "paper about non-isotropic geometries", "https://arxiv.org/abs/2002.09533"); - setCanvas(mode, 'r'); - if(mode == pmStart) { + setCanvas(mode, &ccolor::random, [] { set_geometry(gCubeTiling); - start_game(); - } + }); } }); diff --git a/rogueviz/notknot.cpp b/rogueviz/notknot.cpp index 93c02b32..1fa86c3a 100644 --- a/rogueviz/notknot.cpp +++ b/rogueviz/notknot.cpp @@ -1443,7 +1443,7 @@ void portal_slideshow(tour::ss::slideshow_callback cb) { portal_slides.emplace_back( tour::slide{s, 100, LEGAL::NONE | QUICKGEO | QUICKSKIP | ALWAYS_TEXT, text, [=] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); if(youtube != "") slide_url(mode, 'y', "YouTube link", youtube); non_game_slide_scroll(mode); diff --git a/rogueviz/pentagonal.cpp b/rogueviz/pentagonal.cpp index e016281f..f8c4922c 100644 --- a/rogueviz/pentagonal.cpp +++ b/rogueviz/pentagonal.cpp @@ -328,7 +328,7 @@ auto xhook = "Move the mouse nearer and further away from the X.", [] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); slide_url(mode, 'u', "open the URL", "http://www.roguetemple.com/z/sims/snub/"); slide_backup(rug::model_distance); slide_backup(vid.rug_config.model); diff --git a/rogueviz/planets.cpp b/rogueviz/planets.cpp index 77faefb0..75529210 100644 --- a/rogueviz/planets.cpp +++ b/rogueviz/planets.cpp @@ -526,11 +526,12 @@ auto msc = , [] (presmode mode) { slide_url(mode, 't', "Twitter link (with description)", "https://twitter.com/ZenoRogue/status/1339946298460483589"); - setCanvas(mode, '0'); + setPlainCanvas(mode, [] { + set_geometry(gSphere); + }); if(mode == pmStart) { enable(); - set_geometry(gSphere); slide_backup(canvas_default_wall, waInvisibleFloor); slide_backup(pmodel, mdDisk); slide_backup(pconf.scale, 1000); diff --git a/rogueviz/platformer.cpp b/rogueviz/platformer.cpp index 08c81b20..298ed82b 100644 --- a/rogueviz/platformer.cpp +++ b/rogueviz/platformer.cpp @@ -827,7 +827,7 @@ auto chk = arg::add3("-platformer", enable) slide_url(mode, 'y', "non-Euclidean platformer (YouTube)", "https://www.youtube.com/watch?v=eb2DhCcGH7U"); slide_url(mode, 't', "non-Euclidean platformer (Twitter)", "https://twitter.com/ZenoRogue/status/1467233150380089345"); slide_url(mode, 'g', "how to edit this", "https://github.com/zenorogue/hyperrogue/blob/master/rogueviz/platformer.cpp"); - setCanvas(mode, '0'); + setPlainCanvas(mode); using namespace tour; if(mode == pmStart) { mapstream::loadMap("platformer.lev"); diff --git a/rogueviz/playing-with-impossibility.cpp b/rogueviz/playing-with-impossibility.cpp index a08f68ac..454a4fe0 100644 --- a/rogueviz/playing-with-impossibility.cpp +++ b/rogueviz/playing-with-impossibility.cpp @@ -91,7 +91,7 @@ struct dmv_grapher : grapher { void nil_screen(presmode mode, int id) { use_angledir(mode, id == 0); - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { slide_backup(pmodel); slide_backup(pconf.clip_min); @@ -287,7 +287,7 @@ void geodesic_screen(presmode mode, int id) { use_angledir(mode, id == 0); - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { slide_backup(pmodel); slide_backup(pconf.clip_min); @@ -471,7 +471,7 @@ void geodesic_screen(presmode mode, int id) { void brick_slide(int i, presmode mode, eGeometry geom, eModel md, int anim) { using namespace tour; - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { set_geometry(geom); start_game(); @@ -511,7 +511,7 @@ void ply_slide(tour::presmode mode, eGeometry geom, eModel md, bool anim) { check_cgi(); cgi.require_shapes(); } - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { set_geometry(geom); start_game(); @@ -534,7 +534,7 @@ void ply_slide(tour::presmode mode, eGeometry geom, eModel md, bool anim) { void impossible_ring_slide(tour::presmode mode) { using namespace tour; - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { set_geometry(gCubeTiling); start_game(); @@ -626,20 +626,14 @@ slide dmv_slides[] = { "The sum of angles of a triangle is 180 degrees.\n\n", [] (presmode mode) { if(mode == pmStartAll) enable_canvas(); - setCanvas(mode, 'F'); - if(mode == pmStart) { - stop_game(); - slide_backup(firstland, laCanvas); - slide_backup(specialland, laCanvas); - + setCanvas(mode, &ccolor::football, [] { set_geometry(gArchimedean); arcm::current.parse("3^6"); set_variation(eVariation::pure); - - slide_backup(ccolor::football.ctab[0], 0xC0FFC0); - slide_backup(ccolor::football.ctab[1], 0x80FF80); + slide_backup(ccolor::which->ctab, colortable{0xC0FFC0, 0x80FF80}); + }); + if(mode == pmStart) { slide_backup(pconf.alpha, 1); slide_backup(pconf.scale, 1); - start_game(); slide_backup(patterns::whichShape, '9'); slide_backup(vid.use_smart_range, 2); slide_backup(mapeditor::drawplayer, false); @@ -664,7 +658,7 @@ slide dmv_slides[] = { "For creatures restricted to just this surface, they are indeed striaght lines!\n\n" , [] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { tour::slide_backup(mapeditor::drawplayer, false); enable_earth(); @@ -701,19 +695,15 @@ slide dmv_slides[] = { "In hyperbolic geometry, the sum of angles of a triangle is less than 180 degrees.\n\n", [] (presmode mode) { if(mode == pmStartAll) enable_canvas(); - setCanvas(mode, 'F'); - if(mode == pmStart) { - stop_game(); - slide_backup(firstland, laCanvas); - slide_backup(specialland, laCanvas); + setCanvas(mode, &ccolor::football, [] { set_geometry(gNormal); set_variation(eVariation::bitruncated); - slide_backup(ccolor::football.ctab[0], 0xC0FFC0); - slide_backup(ccolor::football.ctab[1], 0x80FF80); + slide_backup(ccolor::which->ctab, colortable{0xC0FFC0, 0x80FF80}); + }); + if(mode == pmStart) { slide_backup(pconf.alpha, 1); slide_backup(pconf.scale, 1); slide_backup(rug::mouse_control_rug, true); - start_game(); slide_backup(patterns::whichShape, '9'); } if(mode == pmStart) { @@ -759,10 +749,9 @@ slide dmv_slides[] = { slide_backup(vid.fov, 120); } - setCanvas(mode, '0'); + setPlainCanvas(mode, [] { set_geometry(gSpace534); }); if(mode == pmStart) { - set_geometry(gSpace534); /* static bool solved = false; if(!solved) { @@ -917,12 +906,10 @@ slide dmv_slides[] = { "(press Home/End and arrow keys to move)", [] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode, [] { set_geometry(gNil); }); slidecommand = "highlight dimensions"; if(mode == pmStart) { tour::slide_backup(pmodel, mdGeodesic); - set_geometry(gNil); - start_game(); rogueviz::rv_hook(hooks_drawcell, 100, rogueviz::nilcompass::draw_compass); View = Id; shift_view(ztangent(.5)); @@ -1199,22 +1186,19 @@ slide dmv_slides[] = { "Here is how it looks in Nil. Press '5' to animate.\n", [] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode, [] { + set_geometry(gNil); + tour::on_restore(nilv::set_flags); + tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3)); + nilv::set_flags(); + }); slidecommand = "animation"; if(mode == pmKey) { tour::slide_backup(rogueviz::cylon::cylanim, !rogueviz::cylon::cylanim); } - if(mode == pmStart) { - stop_game(); - set_geometry(gNil); - rogueviz::cylon::enable(); - tour::on_restore(nilv::set_flags); - tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3)); - nilv::set_flags(); - start_game(); - } + if(mode == pmStart) rogueviz::cylon::enable(); non_game_slide_scroll(mode); }}, @@ -1261,13 +1245,8 @@ slide dmv_slides[] = { [] (presmode mode) { slide_url(mode, 'y', "YouTube link", "https://www.youtube.com/watch?v=mxvUAcgN3go"); slide_url(mode, 'n', "Nil Rider", "https://zenorogue.itch.io/nil-rider"); - setCanvas(mode, '0'); + setWhiteCanvas(mode, [] { set_geometry(gNil); }); if(mode == pmStart) { - stop_game(); - set_geometry(gNil); - check_cgi(); - cgi.require_shapes(); - start_game(); rogueviz::balls::initialize(1); rogueviz::balls::balls.resize(3); pmodel = mdEquidistant; diff --git a/rogueviz/qtm.cpp b/rogueviz/qtm.cpp index 9f1a85b1..49b472fc 100644 --- a/rogueviz/qtm.cpp +++ b/rogueviz/qtm.cpp @@ -211,7 +211,7 @@ auto hooks = "You can also obtain a different geometry (Berger sphere) by stretching along the fibers. Press 5 to stretch."+bonus , [m] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); slide_url(mode, 't', "Twitter link", "https://twitter.com/ZenoRogue/status/1166723332840001536"); slide_url(mode, 's', "stretched Twitter link", "https://twitter.com/ZenoRogue/status/1258035231996682244"); if(mode == pmStart) { @@ -238,7 +238,7 @@ auto hooks = "Again, press 5 to stretch."+bonus , [m] (presmode mode) { - setCanvas(mode, '0'); + setWhiteCanvas(mode); slide_url(mode, 's', "stretched Twitter link", "https://twitter.com/ZenoRogue/status/1259143275115687936"); if(mode == pmStart) { set_geometry(gKleinQuartic); diff --git a/rogueviz/random-walk.cpp b/rogueviz/random-walk.cpp index 406fa819..e9e6d129 100644 --- a/rogueviz/random-walk.cpp +++ b/rogueviz/random-walk.cpp @@ -160,7 +160,7 @@ void rw_slide(vector& v, string title, string desc, reaction_t t) { tour::slide{cap + title, 18, LEGAL::NONE | QUICKGEO, desc, [t] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { tour::slide_backup(mapeditor::drawplayer, false); diff --git a/rogueviz/snow.cpp b/rogueviz/snow.cpp index 4d3afbe7..4c3f05c0 100644 --- a/rogueviz/snow.cpp +++ b/rogueviz/snow.cpp @@ -210,7 +210,7 @@ void snow_slide(vector& v, string title, string desc, reaction_t t) tour::slide{cap + title, 18, LEGAL::NONE | QUICKGEO, desc, [t] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); slidecommand = "auto-movement"; if(mode == pmKey) { diff --git a/rogueviz/staircase.cpp b/rogueviz/staircase.cpp index 167b4285..4e2758ee 100644 --- a/rogueviz/staircase.cpp +++ b/rogueviz/staircase.cpp @@ -248,7 +248,7 @@ int phooks = arg::add3("-stair", enable) "Press '5' to change the curvature or other parameters.", [] (presmode mode) { - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) staircase::make_staircase(); slidecommand = "staircase menu"; if(mode == pmKey) pushScreen(staircase::showMenu); diff --git a/rogueviz/sunflower.cpp b/rogueviz/sunflower.cpp index 64c31f7f..823ed862 100644 --- a/rogueviz/sunflower.cpp +++ b/rogueviz/sunflower.cpp @@ -332,7 +332,7 @@ auto hook = 0 [] (presmode mode) { slide_url(mode, 'y', "YouTube link", "https://www.youtube.com/watch?v=bKzibaNqEog"); slide_url(mode, 't', "Twitter link", "https://twitter.com/ZenoRogue/status/1247900522905886723"); - setCanvas(mode, '0'); + setPlainCanvas(mode); if((mode == pmStop || mode == pmGeometry) && rug::rugged) rug::close(); diff --git a/rogueviz/triangle.cpp b/rogueviz/triangle.cpp index 6f905250..e7edcf78 100644 --- a/rogueviz/triangle.cpp +++ b/rogueviz/triangle.cpp @@ -500,7 +500,7 @@ bool draw_ptriangle(cell *c, const shiftmatrix& V) { #if CAP_RVSLIDES void slide_itri(tour::presmode mode, int id) { using namespace tour; - setCanvas(mode, '0'); + setPlainCanvas(mode); if(mode == pmStart) { stop_game();