mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-23 13:07:16 +00:00
using new setCanvas function in RogueViz presentations
This commit is contained in:
parent
e76e32e214
commit
263ee56427
@ -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();
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
@ -167,7 +167,7 @@ void heat_slide(vector<tour::slide>& 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);
|
||||
|
@ -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);
|
||||
}});
|
||||
};
|
||||
|
@ -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);
|
||||
|
@ -247,7 +247,7 @@ vector<cell*> current_list;
|
||||
void mine_slide(tour::presmode mode, reaction_t set_geom, function<vector<cell*>()> celllister, function<void(cell*)> 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<pair<cell*, int>> 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();
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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 != "")
|
||||
|
@ -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();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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");
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -160,7 +160,7 @@ void rw_slide(vector<tour::slide>& 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);
|
||||
|
@ -210,7 +210,7 @@ void snow_slide(vector<tour::slide>& 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) {
|
||||
|
@ -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);
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user